Por que minha transação na Solana falhou e como descobrir o motivo no Solscan?
Um swap exibe o rótulo vermelho “falhou”, os fundos que você pretendia movimentar não saíram do lugar e sua carteira oferece pouco mais do que uma mensagem de erro vaga. Essa é uma situação comum na Solana, e a explicação completa geralmente está registrada na blockchain, a uma busca de distância.
O segredo é descobrir em qual de duas situações você está: uma transação que chegou à rede e falhou ou uma que nem sequer chegou à blockchain. O Solscan geralmente consegue dizer qual foi o caso e, muitas vezes, por quê.
O que “falhou” pode significar na Solana
No primeiro caso, a transação chegou a um validador, foi incluída em um bloco e, em seguida, rejeitada durante a execução porque uma condição da qual dependia não foi atendida. Esse tipo de falha fica registrado permanentemente na blockchain, com um erro e os logs do programa associados a ela.
No segundo caso, a transação nunca chega a ser incluída. Toda transação da Solana faz referência a um blockhash recente, que permanece válido por cerca de 150 blocos — aproximadamente 60 a 90 segundos. Se a transação não for processada nesse período, ela expira e é descartada. Uma transação desse tipo normalmente não aparece em nenhum explorador, porque nunca chegou à blockchain.
Motivos comuns para uma transação na Solana falhar
Quando uma transação é incluída e depois falha, as causas mais comuns são SOL insuficiente para cobrir a taxa da rede (além de um pequeno depósito quando é necessário criar uma nova conta de token), o limite de tolerância à slippage ser ultrapassado durante um swap porque o preço mudou demais ou o estado de uma conta mudar entre a assinatura e a execução. Uma transação também pode exceder seu limite de computação, o que é mais comum em operações complexas.
Quando uma transação nunca é incluída, as causas mais comuns são um blockhash expirado — muitas vezes devido à demora na assinatura, à hesitação diante da solicitação de confirmação ou a uma conexão lenta — e o congestionamento da rede. Quando a rede está ocupada, uma transação com uma taxa prioritária opcional baixa pode ser descartada antes mesmo de ser processada por um validador.
Como descobrir o motivo no Solscan
Comece copiando a assinatura da transação no histórico de atividades da sua carteira ou no aplicativo que você usou e cole-a na barra de busca do Solscan. Se a transação foi incluída, a página normalmente exibe o status de falha em vez de sucesso e pode indicar a instrução que falhou.
Mais abaixo na página, procure seções como detalhes da instrução ou mensagens de log; os nomes exatos e o layout podem mudar com o tempo. Os logs mostram qual programa foi executado e onde a execução parou, geralmente indicando o número da instrução junto com o nome ou código do erro. Os códigos de erro são específicos de cada programa, então o mesmo número pode ter significados diferentes em programas distintos; a documentação do programa ajuda a decifrá-lo. Se o Solscan não encontrar a assinatura de jeito nenhum, talvez a transação não tenha sido incluída ou ainda não tenha sido incluída.
O que acontece com seus fundos e com a taxa
A Solana executa uma transação como uma única unidade. Se qualquer instrução falhar, todas as alterações que ela teria feito são descartadas, então os saldos dos seus tokens permanecem como estavam. Normalmente, o único custo é a pequena taxa da rede pela tentativa, que ainda é cobrada porque os validadores fizeram o trabalho de processá-la.
Em geral, não há cobrança de taxa por uma transação que expirou e nunca foi incluída, já que ela não chegou à blockchain. Antes de tentar novamente, porém, vale a pena verificar a primeira tentativa no Solscan, porque uma transação que parece travada ainda pode ser concluída, e enviá-la duas vezes pode resultar em uma transferência duplicada.
Lembrete da WEEX: confira antes de tentar novamente
A WEEX lembra os usuários de confirmar no Solscan o status da primeira tentativa antes de reenviá-la e de manter um pequeno saldo em SOL na carteira para cobrir as taxas. Transações que falham também atraem golpistas: quem se oferecer para “corrigir” uma transação com falha e pedir uma frase-semente ou chave privada não é legítimo, por mais oficial que pareça, e nenhum procedimento legítimo de solução de problemas exige qualquer uma dessas informações.
Conclusão
Uma transação na Solana que falhou deixa de ser um mistério quando você pesquisa sua assinatura. O Solscan pode mostrar se ela falhou na blockchain ou nunca chegou a ser incluída, e os logs costumam indicar qual instrução a interrompeu. Na maioria dos casos, os fundos permanecem onde estavam e apenas uma pequena taxa é perdida; por isso, o hábito mais prático é conferir primeiro e só depois tentar novamente.
Perguntas frequentes
1. Perco meus tokens quando uma transação na Solana falha?
Em geral, não. A Solana executa uma transação como uma única unidade; portanto, se qualquer instrução falhar, suas alterações são descartadas e seus saldos permanecem como estavam. Normalmente, apenas a taxa da rede é perdida.
2. Ainda pago uma taxa por uma transação na Solana que falhou?
Se a transação foi incluída na blockchain e falhou, geralmente ainda é cobrada uma pequena taxa da rede. Se ela expirou e nunca foi incluída, em geral não há cobrança e ela normalmente não aparece no Solscan.
3. Por que não consigo encontrar minha transação no Solscan?
Talvez ela ainda não tenha sido incluída, tenha expirado ou sido descartada, ou a assinatura tenha sido copiada incorretamente. Confira a assinatura, aguarde um pouco e compare-a com o status exibido na sua carteira.
4. Onde encontro o erro no Solscan?
Pesquise a assinatura da sua transação e procure o status de falha e seções como detalhes da instrução ou logs, que geralmente mostram qual instrução falhou e o erro retornado. O layout e os rótulos podem mudar com o tempo.
5. É seguro tentar novamente uma transação na Solana que falhou?
Muitas vezes, sim, mas confira primeiro no Solscan para confirmar que a transação original não foi concluída nem continua pendente. Uma transação que parece travada ainda pode ser concluída, e reenviá-la cedo demais pode resultar em uma transferência duplicada.