Estoy tratando de entender la diferencia entre los siguientes casos al imprimir el evento: En web3.js
escuchaEvento: function(){ Contract.deployed().then(función(instancia){ instancia.HelloWorld().watch(función(error, evento){ document.getElementById("demo").innerHTML += JSON.stringify(evento); consola.log(evento); //1. No está trabajando consola.log(evento.argumentos); // 2. Da todos los argumentos consola.log(evento.argumentos.nombre); // 3. No funciona }); }); },
Mi pregunta es si el objeto no se puede imprimir, entonces por qué funciona para la segunda condición y si funciona, entonces por qué falla para la tercera.
Para acceder a los argumentos podemos usar esto: console.log(JSON.stringify(event.args.name));
Al imprimir el evento console.log(JSON.stringify(event)); También da los detalles de la transacción, ¿cómo obtener eso?
Agradezco cualquier ayuda de antemano.
También agrego problemas al usar watch() en web3 para ver eventos.
Pero logro resolverlos usando el método alternativo ( docs ):
// Or pass a callback to start watching immediately
var event = myContractInstance.MyEvent([{valueA: 23}] [, additionalFilterObject] , function(error, result){
if (!error)
console.log(result);
});
Intenta cambiar:
instance.HelloWorld().watch(function(error, event){
a
instance.HelloWorld({}, function(error, event){
ismael
Shubham Chadokar