Я пытаюсь следить за событием на моем веб-интерфейсе, но мешает ошибка.
Вот JS, наблюдающий за событием
import web3 from './web3';
export async function callEvent () {
await Contract.events.PracticeEvent().watch((response) => {
console.log('the event has been called', response);
}).catch((err) => {
console.log(err);
})
await Contract.triggerEventFunc().call();
}
Код контракта:
event PracticeEvent (string _message, uint _timestamp);
function checkEvent() public {
emit PracticeEvent("event has been called", gts);
}
--- файл web3.js
import Web3 from 'web3';
const web3 = new Web3(window.web3.currentProvider);
export default web3;
Поэтому, когда я запускаю приложение, я получаю сообщение об ошибке
"Uncaught (в обещании) TypeError: Contract.default.events.PracticeEvent (...). Watch не является функцией"
В Remix все работает нормально, но когда я пытаюсь запустить его в моем реальном приложении, оно портится
Я предполагаю, что ошибка как-то связана с web3, но я не уверен, почему, потому что web3 работает нормально в остальной части моего приложения.
Любая помощь? спасибо!