Error: el proveedor actual no admite suscripciones: MetamaskInpageProvider

Simplemente estoy tratando de configurar un detector de eventos con web3 y metamask.

  incrementEvent = existingContract.events.Incremented(function(error, event){
                  if (error) console.log(error);
                  console.log("event is: ", event);
                })

Resultado:

Error: The current provider doesn't support subscriptions: MetamaskInpageProvider
    at Subscription.subscribe (bundle.js:45443)
    at Contract._on (bundle.js:48777)
    at (index):48
    at tryCatcher (bundle.js:44235)
    at Promise._settlePromiseFromHandler (bundle.js:42267)
    at Promise._settlePromise (bundle.js:42325)
    at Promise._settlePromise0 (bundle.js:42370)
    at Promise._settlePromises (bundle.js:42453)
    at bundle.js:39334
    at MutationObserver.<anonymous> (bundle.js:43502)
(index):50 event is: null

¿Cómo escuchas los eventos de contrato con metamask?

Respuestas (1)

Hay algunos problemas con la forma en que metamask maneja los eventos actualmente.

Hasta que se resuelvan esos problemas, puede intentar usar otro proveedor solo para manejar eventos. Debería crear una instancia de otra instancia web3 con otro proveedor. El proveedor podría ser nuestro propio nodo o infura por ejemplo.

Pasó medio año, ¿algo nuevo?