Publicações
avatar

Você envia uma transação, ela é confirmada, mas sua carteira ainda mostra o saldo antigo. Ao atualizar, o novo saldo aparece. Ao atualizar novamente, ele some. Nada quebrou. Você simplesmente acessou uma réplica diferente que ainda não havia se atualizado. O Rialo publicou um guia sobre modelos de consistência que explica exatamente isso — e a explicação é mais útil do que a maioria das dicas de UX de carteiras. Sistemas distribuídos replicam dados entre servidores, e esses servidores recebem atualizações em momentos diferentes. Uma leitura em uma réplica atrasada retorna um estado comprometido mais antigo. Comportamento correto sob a maioria dos modelos de consistência, mas profundamente confuso ao visualizar. A solução tem um nome: read my writes (leia minhas escritas). Uma vez que um cliente compromete uma escrita em uma sessão, toda leitura subsequente nessa sessão reflete essa alteração. Você sempre vê sua própria transação, mesmo quando outros usuários ainda não a veem. Juntamente com leituras monotônicas, sua visão só avança, então o saldo nunca retrocede durante uma sessão. A documentação do @RialoHQ nomeia isso como algo que as carteiras devem implementar na camada de aplicação, e mapeia separadamente qual modelo se aplica a cada parte da cadeia: consistência forte para pontos de verificação de finalidade; prefixo consistente para ordenação de blocos durante a sincronização; obsolescência limitada para clientes leves. A maioria das cadeias não documenta a consistência e deixa os desenvolvedores descobrirem por meio de relatos de bugs. Escrever explicitamente qual garantia se aplica onde é um trabalho pouco glamoroso, mas que economiza semanas de busca por um problema que nunca foi um bug.

Este conteúdo é apenas para fins informativos e educacionais. Ele pode incluir opiniões de terceiros, conteúdo patrocinado ou material promocional pelos quais o criador pode receber compensação. Nada neste feed constitui aconselhamento financeiro ou garantia de retorno. Você é o único responsável por suas próprias decisões de investimento. Sempre realize a sua própria pesquisa e aja com cautela antes de negociar. Não garantimos a precisão das informações de terceiros e não nos responsabilizamos por quaisquer perdas incorridas. Desempenho passado não é indicativo de resultados futuros. Consulte nossos Termos da Comunidade e a Declaração de Divulgação de Riscos para mais detalhes.

avatarPublique sua resposta

Comentar