$DUSK #dusk @Dusk

Rebusqué en los documentos de transacciones de Dusk porque seguía viendo que “accepted” (“aceptada”), “executed” (“ejecutada”) y “finalized” (“finalizada”) se trataban como si significaran lo mismo.

No es así.

En el endpoint /on/transactions/propagate de Dusk, una respuesta 202 Accepted solo significa que el nodo aceptó la transacción para el enrutamiento. No prueba que la transacción haya entrado al mempool, que se haya propagado a pares, que se haya ejecutado correctamente o que haya alcanzado la finalidad (finality).

Luego se pone más interesante.

El ciclo de vida es mucho más largo: broadcast (difusión) → validation (validación) → mempool → candidate block (bloque candidato) → block acceptance/execution (aceptación/ejecución del bloque) → confirmation (confirmación) → finality (finalidad).

Y la ejecución en sí no necesariamente significa éxito. Dusk puede emitir un evento transaction-executed con un error cuando la acción del contrato falla o revierte. Así que “executed” y “successful” (“exitoso”) tampoco son intercambiables.

Esa distinción se siente especialmente importante para aplicaciones financieras, donde tratar un estado temprano como éxito podría implicar actuar sobre algo que en realidad no es final.

Lo que no dejo de pensar es en 202 Accepted.

Una transacción puede parecer “aceptada” para una aplicación mientras que los propios documentos de integración de Dusk separan explícitamente el enrutamiento de la ejecución y la finalidad.

Me pregunto cuántas integraciones tratan 202 Accepted como éxito cuando Dusk separa explícitamente el enrutamiento, la ejecución y la finalidad.

¿Qué significa para ti “Accepted” (aceptada)? 👀
$ALPINE $ACE
🧐 Finality
43%
💫 Execution
29%
👀 Mempool
14%
🧠 All three
14%
7 Votos • Votación cerrada