Digamos que tengo un evento de notificación() en una función llamada comprar().
event notify();
buy(){
//...
notify();
}
El problema aquí es que mi control del reloj de notificación se activa solo después de que se extrae esa transacción. ¿Así funcionan los eventos? Si es así, ¿hay alguna alternativa para conocer las transacciones que ocurren en mi contrato al instante? var filter = contractObject.notify();
filter.watch(function (error, log, data)
{ console.log(data); });
Úselo pending
cuando construya su web3.eth.filter
.
web3.eth.filter
tiene un parámetro:
Cadena|Objeto: la cadena "más reciente" o "pendiente" para observar cambios en el último bloque o transacciones pendientes, respectivamente. O un objeto de opciones de filtro de la siguiente manera: fromBlock: Number|String: el número del bloque más antiguo (más reciente se puede dar para indicar el bloque más reciente y pendiente de extracción actual). Por defecto más reciente. toBlock: Number|String: el número del bloque más reciente (más reciente se puede dar para indicar el bloque más reciente y pendiente de extracción actual). Por defecto más reciente.
Algunas cosas a tener en cuenta con las transacciones pendientes:
Esas son algunas de las razones por las que el valor predeterminado es escuchar solo los eventos que se han extraído en un bloque ( latest
). Incluso entonces, tenga en cuenta que es posible que desee manejar una reorganización de la cadena .