У меня частичный успех с написанным мной Node.js
сценарием, который взаимодействует с одним из моих Ethereum
Smart Contracts.
Вот что работает: -Я могу вызывать методы в Smart Contract из my Node.js
script -Я могу записывать и отображать результаты, возвращенные этими вызовами функций, используя мой Node.js
скрипт
Проблема, с которой я сталкиваюсь, связана с захватом EVENTS
, которые выдаются по контракту.
Мой код не запускается, потому что я сохраняю следующую ошибку:
TypeError: theContract.saleTXReceivedEvent is not a function
Странно, что код, который я использую в моем файле Node.js
, это точно такой же код, который я использовал в моих обычных JS файлах на стороне клиента (которые встроены в мои HTML файлы) - которые прекрасно работают.
Вот код:
var capturedEvent = theContract.saleTXReceivedEvent();
capturedEvent.watch(function(error, result) {
if(!error) {
console.log("Sale was successful!");
console.log("Results are as follows: ", result);
}
else {
console.log("ERROR!!!! Details: ", error);
}
});
Опять же, этот код прекрасно работает в моих клиентских веб-файлах, но выдает ошибку, когда в моем файле node.js:
TypeError: theContract.saleTXReceivedEvent is not a function
Конечно, верно, что saleTXReceivedEvent
это не a Function
- это EVENT
, но с точки зрения синтаксиса, как иначе я должен ссылаться на это? Почему он нормально работает в моих обычных JS файлах, но не работает в моих NodeJS
файлах?
Что здесь происходит?