I started looking at blockchain integrations from a different angle: an event can tell an application what happened, but not every event tells it that the result is final.
That distinction becomes important when software reacts to onchain activity.
Dusk’s Rusk node exposes the RUES (Rusk Universal Event System), which external applications and integrations can use for blockchain events. For transactions, RUES includes events such as included, removed and executed. But these events represent different stages of the lifecycle.
For example, executed means a transaction was executed in an accepted block, but the application still needs to inspect the execution result. More importantly, an accepted block can still be reverted. Dusk says a block becomes final when its state changes to finalized.
That creates an interesting distinction:
observing an event is not the same as confirming final state.
Dusk’s integration guidance therefore recommends checking execution success and then verifying that the relevant block has finalized. Archive nodes can retain finalized historical indexes, including finalizedEvents, for applications that need historical finalized data.
For me, that changes how I think about blockchain integrations.
The challenge is not simply receiving events.
It is knowing when an application can safely treat the result as final.
@Dusk $DUSK #dusk
That distinction becomes important when software reacts to onchain activity.
Dusk’s Rusk node exposes the RUES (Rusk Universal Event System), which external applications and integrations can use for blockchain events. For transactions, RUES includes events such as included, removed and executed. But these events represent different stages of the lifecycle.
For example, executed means a transaction was executed in an accepted block, but the application still needs to inspect the execution result. More importantly, an accepted block can still be reverted. Dusk says a block becomes final when its state changes to finalized.
That creates an interesting distinction:
observing an event is not the same as confirming final state.
Dusk’s integration guidance therefore recommends checking execution success and then verifying that the relevant block has finalized. Archive nodes can retain finalized historical indexes, including finalizedEvents, for applications that need historical finalized data.
For me, that changes how I think about blockchain integrations.
The challenge is not simply receiving events.
It is knowing when an application can safely treat the result as final.
@Dusk $DUSK #dusk
