Owlio
PT
← Blog
Passo a passoIniciante

Transação Ethereum bem-sucedida, mas faltam tokens: o que verificar

Success descreve a execução da transação. Esse status, sozinho, não prova que os tokens pretendidos chegaram à conta pretendida.

Uma transação Ethereum bem-sucedida não prova, por si só, que os tokens ERC-20 pretendidos chegaram à conta pretendida. Success informa se a transação como um todo terminou sem reverter. Confirme a ação executada, o contrato exato do token, o destinatário e as evidências de transferência antes de considerar o pagamento concluído.

Comece pelo hash da transação original na Ethereum Mainnet. Não envie outro pagamento apenas para testar uma exibição desatualizada da carteira. Este guia descreve uma inspeção somente de leitura de uma transação incluída em um bloco, não um serviço de recuperação nem instruções para assinar outra transação.

Interprete Success no nível correto

A EIP-658 define o status do recibo como o resultado da chamada no nível superior. O status 1 significa sucesso e 0 significa falha; o JSON-RPC os representa como 0x1 e 0x0. Isso descreve a execução, não uma lista de todos os resultados que você esperava do aplicativo.

Um contrato pode tratar uma operação interna malsucedida sem reverter toda a transação. O padrão ERC-20 também exige explicitamente que quem chama trate um false retornado. Não suponha que todas as implementações de tokens informem transferências malsucedidas revertendo a execução.

O status do recibo não é o true ou false retornado por um método do token. A referência de recibos expõe status, bloco e logs da transação; isso não transforma o campo de status no valor retornado por uma chamada interna. Detalhes de execução decodificados podem ajudar, mas um erro de rastreamento ou um rótulo de método isolado precisa ser interpretado no contexto da ação completa.

Se o recibo geral mostrar Failed, use o guia de transações malsucedidas e gas. Se a transação ainda não foi incluída em um bloco, use o guia de transações pendentes. As verificações aqui tratam de uma transação incluída e marcada como Success.

Determine se a ação era uma transferência

Um aplicativo pode pedir uma aprovação antes de uma transferência, troca ou depósito posterior. No ERC-20, approve define uma permissão de gasto; por si só, não envia o valor aprovado a quem recebeu a permissão. Portanto, sua transação bem-sucedida pode deixar o saldo do token inalterado.

Examine a ação e os dados de entrada decodificados, quando disponíveis. Anote o contrato de destino da transação e a operação pretendida. O campo To pode ser um roteador ou outro contrato, em vez do destinatário final do token. Não equipare esse campo ao destinatário registrado em uma transferência do token.

Observação O que estabelece O que falta conferir
Status do recibo Success Execução no nível superior teve sucesso Resultado da ação pretendida
Aprovação bem-sucedida Uma ação de permissão foi executada Transferência ou ação do protocolo separada
Log Transfer correspondente Esse contrato emitiu um registro de transferência Identidade, valor e estado resultante
Saldo atual do token Quantidade da conta naquela consulta Outras atividades e momento da observação

Guarde os hashes das etapas separadas. Uma aprovação bem-sucedida seguida de uma transferência são dois registros; um rótulo Success não substitui os dois. A mensagem de conclusão de um aplicativo também não comprova que uma corretora creditou um depósito ou que uma ponte terminou em outra rede. Esses serviços precisam de seus próprios registros e regras.

Relacione o registro ao token e destinatário exatos

O evento Transfer do padrão registra remetente, destinatário e valor. Nos logs do recibo, confira o endereço do contrato que emitiu o registro e compare seus campos decodificados ao pagamento pretendido. Um símbolo conhecido não basta: outro contrato pode usar o mesmo nome ou emitir um evento de aparência semelhante.

Verifique a rede e o endereço completo do contrato do token por uma fonte em que você já confia. Compare o endereço completo do destinatário, não apenas um prefixo e sufixo abreviados. Nosso guia de endereço de carteira e contrato do token explica qual endereço identifica o ativo e qual identifica a conta.

Confira o valor além da presença do evento. O ERC-20 inclui transferências de valor zero, então encontrar um evento Transfer não comprova um pagamento positivo. Se o log mostrar um inteiro bruto, use a escala decimal verificada do token para interpretá-lo. Não aplique a formatação duas vezes nem invente uma escala quando os metadados não estiverem disponíveis.

Por exemplo, suponha que o pagamento pretendido seja de 25 tokens. Uma aprovação bem-sucedida de 25 tokens não é esse pagamento. Um registro de transferência de zero tokens também não é. Um registro de 25 tokens de outro contrato ainda não comprova o recebimento do ativo pretendido. São comparações hipotéticas, não observações de uma carteira real.

Compare o estado sem atribuir toda mudança a este hash

Consulte o saldo do destinatário para o mesmo contrato do token na mesma rede. O método padrão balanceOf(account) informa o saldo de tokens da conta, sem explicar o que uma única transação mudou. Uma galeria da carteira ou um valor total do portfólio em moeda fiduciária pode estar atrasado ou descrever outra coisa.

Anote o bloco ou horário da consulta. O saldo mais recente pode incluir transferências posteriores à transação investigada. Mesmo comparar os saldos do bloco anterior e do bloco que a contém pode incluir outras transações nesse bloco. Não afirme que uma diferença isola esse hash sem examinar as outras atividades.

Se as evidências divergirem, mantenha a divergência visível. Mecânicas específicas de tokens, um leitor incompatível ou a contabilidade interna de um protocolo podem exigir a documentação e o suporte do contrato exato. Um log de contrato não certifica autenticidade nem segurança. Uma consulta de saldo que falhou significa desconhecido, não saldo zero.

Guarde um registro antes de decidir outro pagamento

Use um explorador ou leitor de contratos conhecido, acessado por um caminho confiável. Essas verificações públicas não exigem conectar a carteira, assinar, aprovar ou fornecer uma frase de recuperação. O procedimento se baseia na documentação primária verificada em 26 de outubro de 2026; não foi testado em uma transação real para este artigo.

  1. Identifique a transação original. Guarde Ethereum Mainnet, hash completo, remetente, bloco e status geral do recibo.
  2. Identifique a ação real. Diferencie aprovação de transferência, troca ou depósito. Guarde todos os hashes separados do fluxo.
  3. Compare as evidências do token. Registre o contrato emissor, remetente da transferência, destinatário e valor com suas unidades. Compare-os ao ativo e à conta pretendidos.
  4. Confira o estado resultante. Consulte o saldo do token exato ou o registro relevante do protocolo, anotando bloco ou horário e outras atividades que possam afetá-lo.
  5. Mantenha em aberto o que não foi resolvido. Preserve logs ausentes, consultas que falharam e diferenças sem explicação. Consulte o suporte oficial da carteira ou do protocolo com os dados públicos da transação antes de decidir se outra transação é adequada.

A inspeção termina quando você consegue explicar o que teve sucesso e quais evidências sustentam o recebimento pretendido. Se a transação teve sucesso, mas o pagamento continua não verificado, registre dessa forma. O selo Success é uma evidência útil; ele não permite ignorar o ativo, o destinatário ou o valor.

Perguntas frequentes

O status 1 significa que minha transferência ERC-20 funcionou com certeza?

Significa que a execução Ethereum no nível superior teve sucesso. Confira a ação executada, o contrato exato do token, o destinatário, o valor e o estado resultante. Uma aprovação bem-sucedida ou uma falha interna tratada não comprovam o pagamento pretendido.

Posso ler o true ou false retornado por um token no status do recibo?

Não. O status do recibo é o resultado da execução no nível superior, não o valor retornado por um método ERC-20. O padrão exige que quem chama trate false; diagnosticar uma chamada específica pode exigir detalhes de execução decodificados ou suporte do protocolo.

Devo enviar o pagamento novamente se minha carteira não atualizou?

Primeiro esclareça o hash original na rede correta. Uma nova transação pode gerar outro pagamento. Guarde o recibo original e confira o ativo e a conta exatos antes de decidir qualquer nova ação.