Tengo el siguiente código:
var filter = web3.eth.filter({
fromBlock:4076955,
toBlock:"latest",
address:"0x0123456789012345678901234567890123456789"
});
filter.get(function(error,logs){
if (!error) {
console.log("Found block " + logs.blockNumber);
console.log(JSON.stringify(logs,null,2));
}
}
y cuando ejecuto el código, obtengo:
Found block undefined
[]
Hubiera esperado obtener un número logs.blockNumber
y un objeto como valor de retorno ( fuente: https://github.com/ethereum/wiki/wiki/JavaScript-API#watch-callback-return-value )
Pregunta: ¿ Por qué es posible que no obtenga el resultado esperado?
Tal vez, el problema se deba a que filter.get()
devuelve datos de registros, solo si web3.eth.filter
se inicializa antes de que aparezcan las transacciones que está buscando.
Más info en este número .
Creo que esto se debe a que los resultados pasados a la devolución de llamada filter.get
son una matriz de entradas. No puedo encontrar ninguna muestra de código de donde hice esto antes, pero estoy bastante seguro de que logs
en su devolución de llamada hay una serie de bloques o registros, no solo uno. Intente simplemente pasar console.log.bind(console)
a filter.get
, para ver cuáles son los valores sin procesar.
console.log.bind(console)
?filter.get(function...)
hacerfilter.get(console.log.bind(console))
Webeng
toBlock: 'latest'
a,toBlock: 4076956
obtengo el mismo resultado.Víctor Baranov
web3.eth.filter
Webeng
filter.watch
era para escuchar, mientras quefilter.get
era para obtener de bloques. Aquí: ethereum.stackexchange.com/questions/21694/…