Я пытаюсь понять разницу между следующими случаями при печати события: В web3.js
прослушивать событие: функция () { Contract.deployed().then(функция(экземпляр){ instance.HelloWorld(). Watch (функция (ошибка, событие) { document.getElementById("демо").innerHTML += JSON.stringify(event); console.log(событие); //1. Это не работает console.log(событие.args); // 2. Выдает все аргументы console.log(событие.args.name); // 3. Не работает }); }); },
Мой вопрос: если объект не может быть напечатан, то почему он работает для 2-го условия, и если он работает, то почему он не работает для 3-го.
Чтобы получить доступ к аргументам, мы можем использовать это: console.log(JSON.stringify(event.args.name));
При печати события console.log(JSON.stringify(event)); Он также дает детали транзакции, как это получить?
Оцените любую помощь заранее.
Я также добавляю проблемы, используя watch() в web3 для отслеживания событий.
Но мне удается решить их, используя альтернативный метод ( docs ):
// Or pass a callback to start watching immediately
var event = myContractInstance.MyEvent([{valueA: 23}] [, additionalFilterObject] , function(error, result){
if (!error)
console.log(result);
});
Попробуйте изменить:
instance.HelloWorld().watch(function(error, event){
к
instance.HelloWorld({}, function(error, event){
Исмаэль
Шубхам Чадокар