Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
Contrato de éteres en el error "Sin evento matemático" del método

Acabo de empezar a aprender ethers , aquí está mi código:

 (async () => { const connection = new ethers.providers.JsonRpcProvider( "https://mainnet.infura.io/v3/key" ); const contract = new ethers.Contract( "0x7be8076f4ea4a4ad08075c2508e481d6c946d12b", abi, connection ); contract.on("atomicMatch_", (...args) => { console.log(args); }); })();

entonces el contrato es opensea principal de mar abierto - enlace Me gustaría escuchar transacciones/eventos de ventas. Como veo en el contrato, el nombre de ese evento es probablemente Atomic Match_ o atomicMatch_ en ABI. Para ABI, solo copié el contrato completo pegado en el sitio web https://remix.ethereum.org/ y copié el código abi. El problema es que estoy recibiendo este error ahora:

Error: no matching event (argument="name", value="atomicMatch_", code=INVALID_ARGUMENT, version=abi/5.5.0)

¿Que esta mal aquí? Intenté con ambos nombres de eventos, pero recibo el mismo error una y otra vez...

@edit aquí es sandbox para ello, lo que es extraño cuando cambio el nombre del evento a OrdersMatched por ejemplo, funciona totalmente bien...

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ethers contract.on() ( docs ) se invoca cuando se emite un evento con el nombre especificado.

Su fragmento pasa un nombre de función ( atomicMatch_ ), no un nombre de evento.

La función atomicMatch_ emite efectivamente el evento denominado OrdersMatched . Es por eso que cambiar el controlador a contract.on('OrdersMatched') soluciona el problema.


Además, la zona de pruebas utiliza un proveedor integrado en getDefaultProvider() , que se comunica con la aplicación a través de WSS. Su fragmento está utilizando un proveedor HTTPS que, por diseño, no puede escuchar eventos. También deberá usar un proveedor de WSS (son compatibles con Infura).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda