Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

155
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!