O que é um conversor de endereço Tron?
Um conversor de endereço Tron traduz uma única conta de 20 bytes entre suas três grafias: a forma Base58Check T… exibida pelas carteiras (byte de prefixo 0x41, depois 20 bytes, depois um checksum double-SHA-256 de 4 bytes), a forma hex 41… de 42 caracteres usada por APIs de nó e transações brutas, e a forma 0x… usada por ferramentas EVM. As três se referem à mesma conta.
As três formas, explicadas
- Base58 (T…): 34 caracteres, sempre começa com T na mainnet. É o que TronLink, Trust Wallet, Binance e OKX exibem e aceitam. Contém um checksum double-SHA-256 de 4 bytes.
- Hex (41…): 42 caracteres hex: o byte de versão 0x41 seguido da conta de 20 bytes. Usado em respostas REST do TronGrid, nos internos do
tronwebe em transações brutas. - Estilo EVM (0x…): os mesmos 20 bytes com prefixo 0x, como aparece em logs de contratos TVM e ferramentas Solidity. Exibido aqui nas variantes com checksum EIP-55 e em minúsculas.
Como a conversão funciona
- Base58 → hex: decodifique o Base58, remova os 4 últimos bytes de checksum após verificá-los, e exiba os 21 bytes restantes em hex.
- Hex → Base58: pegue 41 + 40 hex, acrescente os 4 primeiros bytes de SHA-256(SHA-256(bytes)) e codifique em Base58.
- 0x → Tron: prefixe 41 aos 40 caracteres hex e codifique como acima.
Exemplo prático
O contrato USDT TRC-20 é TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t em Base58. A decodificação dá o payload de 21 bytes 41a614f803b6fd780986a42c78ec9c7f77e6ded13c mais 4 bytes de checksum. Removendo o prefixo 41 e adicionando 0x, obtém-se a forma EVM 0xa614f803b6fd780986a42c78ec9c7f77e6ded13c, que é como o mesmo contrato aparece nos logs de eventos da TVM.
Formatos em resumo
| Forma | Comprimento | Checksum | Onde é usada |
|---|---|---|---|
| Base58 T… | 34 caracteres | sim, 4 bytes | carteiras, exchanges, QR codes |
| Hex 41… | 42 caracteres hex (21 bytes) | não | TronGrid, tronWeb, transações protobuf |
| EVM 0x… | 42 caracteres (20 bytes) | capitalização EIP-55 opcional | logs da TVM, ferramentas Solidity |
Usos típicos
- Consultar endpoints de API no estilo
/v1/accounts/<hex>que só aceitam hex. - Decodificar o parâmetro
tode uma chamadatransferTRC-20 a partir dos dados do contrato. - Verificar se o endereço de depósito que um cliente enviou é um endereço Tron válido antes de creditar um saque.
Gere um código de recebimento para um endereço verificado com o gerador de QR USDT TRC-20.