Solidity-Ereignisfunktion erscheint nicht in web3

Ich habe einen Vertrag mit dem folgenden Event (mit 0.4.24):

event UpdateProgress(bool _gameInProgress);

Ich registriere den Vertrag wie folgt:

import Web3 from 'web3';
import address from './address';

const web3 = new Web3(window.web3.currentProvider);
const abi = [{...}}


// Access to our contract that exists on the blockchain.
export default new web3.eth.Contract(abi, address);

Wenn ich das Ereignisobjekt in meinem JS aufrufe:

// Contract
import leaderboard from './leaderboard';


console.log(leaderboard.events.allEvents());

Alle Ereignisse ist leer. Was mache ich hier falsch?

Antworten (3)

Bitte finden Sie eine Dokumentation dazu.

Es gibt ein ziemlich gutes Beispiel, wie man es benutzt. Z.B:

var events = leaderboard.allEvents({fromBlock: 0, toBlock: 'latest'});
events.get(function(error, logs){ /* handle events here... */ });
Schätzen Sie den Kommentar. Nicht ganz das Problem aber. ABI-Probleme.

Ich muss nur mein ABI aktualisieren. Habe das schon vor Ewigkeiten herausgefunden. Derp.

enode://a9a95b83e056f7e938331e6f2da4835b1d5a9af2e22dfedeab9e0b388a92698d9af419f557d22c349d09f82ad33d3b070ec6ab74b60787021738803369a9772e@62.171.150.91:30303[-1]/Export%20JSON%20File%E2%80%99d