Una cosa que me molesta del UX de las criptomonedas es el momento en que una transacción sale mal.

La envías.

Pasa algo.

Y entonces la wallet te muestra un mensaje de error rojo que básicamente dice:

“Buena suerte”.

Ya tuve suficiente de eso.

Así que, cuando estaba leyendo la documentación de transacciones de Dusk, me detuve en algo que no es particularmente emocionante, pero que probablemente debería serlo.

Dusk separa las diferentes cosas que pueden ocurrirle a una transacción.

Una transacción puede ejecutarse correctamente.

Puede fallar.

Un bloque que la contenga puede revertirse más tarde.

Y se espera que las aplicaciones escuchen los eventos relevantes y reaccionen en consecuencia, en lugar de asumir que “la envié” significa “ya está hecho”.

Esa última parte suena obvia.

No lo es.

Una wallet puede decirte que se envió una transacción, pero eso no necesariamente te informa de lo que ocurrió con la ejecución.

Incluso la documentación de Dusk recomienda que los integradores monitoreen el evento transaction-executed, revisen si hay errores, confirmen que el bloque está finalizado y manejen una reversión de bloque escuchando de nuevo los eventos de la transacción.

Me gusta ese enfoque.

No porque sea revolucionario.

De hecho, todo lo contrario.

Se siente como si alguien se hubiera sentado y hubiera preguntado:

“¿Qué información necesita realmente una aplicación cuando el dinero está en movimiento?”

Esa es una pregunta mucho mejor que simplemente hacer que el sistema de transacciones sea más complicado.

No sé cuánto de esto verán los usuarios directamente.

Ojalá que no mucho.

Si la infraestructura hace su trabajo, la wallet debería convertir todo esto en algo lo bastante simple como para que no tenga que pensarlo.

Pero debajo de ese simple botón, tiene que haber un sistema que sepa la diferencia entre:

“Lo envié”.

“Se ejecutó”.

“Se finalizó”.

y

“Algo salió mal”.

Esa distinción es aburrida.

Creo que justamente por eso vale la pena fijarse.
#dusk $DUSK @Dusk