Uma coisa que me irrita na experiência do usuário (UX) de cripto é o momento em que uma transação dá errado.

Você envia.

Acontece alguma coisa.

E então a carteira mostra uma mensagem de erro vermelha que basicamente diz:

“Boa sorte.”

Já tive o bastante disso.

Então, quando eu estava lendo a documentação de transações da Dusk, parei em algo que não é particularmente empolgante, mas talvez devesse ser.

A Dusk separa as diferentes coisas que podem acontecer com uma transação.

Uma transação pode ser executada com sucesso.

Ela pode falhar.

Um bloco que a contém pode ser revertido mais tarde.

E espera-se que as aplicações escutem os eventos relevantes e reajam de acordo, em vez de presumir que “eu enviei” significa “está feito”.

A parte final parece óbvia.

Mas não é.

Uma carteira pode te dizer que uma transação foi enviada, mas isso não necessariamente informa o que aconteceu na execução.

A documentação da Dusk inclusive recomenda que os integradores monitorem o evento de transação-executada, verifiquem se há erros, confirmem que o bloco foi finalizado e lidem com uma reversão de bloco ouvindo novamente os eventos da transação.

Eu gosto dessa abordagem.

Não porque seja revolucionária.

Na verdade, é bem o contrário.

Parece que alguém se sentou e perguntou:

“Que informação uma aplicação realmente precisa quando o dinheiro está se movendo?”

Essa é uma pergunta muito melhor do que simplesmente tornar o sistema de transações mais complicado.

Eu não sei quanto disso os usuários vão ver diretamente.

Espero que não muito.

Se a infraestrutura estiver fazendo o trabalho dela, a carteira deve transformar tudo isso em algo simples o bastante para que eu não precise pensar sobre isso.

Mas, por baixo desse botão simples, precisa existir um sistema que saiba a diferença entre:

“Eu enviei.”

“Ela foi executada.”

“Ela foi finalizada.”

e

“Algo deu errado.”

Essa distinção é chata.

Acho que é exatamente por isso que vale a pena notar.
#dusk $DUSK @Dusk