Ich versuche einfach, einen Ereignis-Listener mit web3 und Metamask einzurichten.
incrementEvent = existingContract.events.Incremented(function(error, event){
if (error) console.log(error);
console.log("event is: ", event);
})
Ergebnis:
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
Wie hören Sie Vertragsereignisse mit Metamask?
Derzeit gibt es einige Probleme mit der Art und Weise, wie Metamask Ereignisse verarbeitet.
Bis diese Probleme gelöst sind, können Sie versuchen, einen anderen Anbieter nur für die Behandlung von Ereignissen zu verwenden. Sie müssten eine weitere web3-Instanz bei einem anderen Anbieter instanziieren. Der Anbieter könnte zum Beispiel unsere eigene Node oder infura sein.
Richard Fu