Saltar al contenido principal

Manejar los eventos

En el mundo de la programación, los eventos juegan un papel fundamental. Representan acciones significativas o cambios en el estado de un sistema, y su correcta gestión es esencial para lograr una interacción fluida y una experiencia de usuario excepcional.

Veremos como manejar los eventos web3 del sdk para que puedas crear aplicaciones que reaccionen a los cambios en el estado de la blockchain.

info

Todos los eventos tratados a continuacion representan los cambios locales o de los servicios de Alfa en el estado de la blockchain. No son eventos de la blockchain en si misma.

tip

Los eventos disponibles se ven en la seccion Lista de eventos disponibles

Event bus

Para manejar los eventos, Alfa provee un bus de eventos que permite suscribirse a los eventos que se deseen. El bus de eventos es un objeto que se puede obtener a traves de la propiedad events del sdk.

tip

Para mas informacion sobre el bus de eventos, ver la seccion Event bus

Suscribirse a un evento

Para suscribirse a un evento, se debe llamar al metodo registerHandler del bus de eventos, pasando como parametro el nombre del evento al que se desea suscribirse y una funcion que se ejecutara cada vez que se emita el evento. Veamos como podemos suscribirnos al evento MintAssetEvent:

const eventBus = sdk.events;

eventBus.registerHandler<MintAssetEvent>(MintAssetEvent.eventName, async (event) => {
console.log(`New asset minted: ${event.payload.asset.assetId}`);
});

No es eficaz recargar la lista de assets de una wallet al momento de enviar una transaccion de minado, de transferencia o de borrado porque al ser asincronas, la transaccion puede tardar en ser minada y confirmada. Por lo tanto, es mejor suscribirse a los eventos de minado, transferencia y borrado de assets para actualizar la lista de assets de la wallet cuando se emitan estos eventos.

info

Recuerda desuscribirte de los eventos cuando ya no los necesites. Ver mas informacion en la seccion Event bus