Эй, ребята, я ужасно застрял с выводом событий на интерфейс. Я использую МетаМаск. что мне не хватает?
Событие солидности:
event enrolled(address payoutAddress, address sender, uint dateOfTransaction);
И Веб3:
MyContract = web3.eth.contract(abi);
myContractInstance = MyContract.at(contractAddress);
var depositEventAll = myContractInstance.enrolled({dateOfTransaction: userAddr}, {fromBlock: 4400000, toBlock: 'latest'});
depositEventAll.watch(function (err, result) {
if (err) {
console.log(err);
return;
}
console.log(result);
});
Спасибо!
В настоящее время есть некоторые проблемы с тем, как MetaMask обрабатывает события. Всегда было трудно поддерживать API, потому что, в отличие от любого другого метода, он имеет состояние.
К сожалению, пока это внутреннее поведение не будет стабилизировано, я должен порекомендовать инициализировать второго провайдера, если вы хотите использовать события, и либо указать его на серверную часть, которой вы управляете, либо использовать web3-provider-engine для полифилла события. поведение (метамаска находится в процессе удаления движка провайдера, отсюда и текущая нестабильность).
пользователь19510
{dateOfTransaction: userAddr}
кажется подозрительным. Вы уверены, что ваш фильтр правильный? Вы имели в виду{address: userAddr}
вместо этого?