TRON 地址格式详解:为什么以 T 开头、共 34 位
TRON(TRX)地址如何由私钥生成、为什么以 T 开头、base58 允许哪些字符、hex 41… 格式是什么,以及如何校验地址。
TRON 主网地址看起来像 TMVQGm1qAQYVdetCeGRRkTWYYrLXuHK2HC:共 34 个字符,总是以 T 开头,使用 58 个字符的字母表。下面逐一说明每一部分的来历。
从私钥到 TRON 地址
- 私钥——随机的 256 位数字,通常显示为 64 个十六进制字符。
- 公钥——在 secp256k1 椭圆曲线上由私钥计算得出(与比特币、以太坊同一条曲线)。去掉
04前缀后的非压缩形式为 64 字节。 - 对公钥做 Keccak-256 哈希,得到 32 字节,取最后 20 字节作为账户标识(与以太坊地址相同)。
- 版本字节——TRON 在前面加上
0x41,共 21 字节。这就是 API 中常见的41…hex 格式。 - Base58check——追加 4 字节校验和(两次 SHA-256),将 25 字节用 base58 编码,得到
T…字符串。
由于第 4 步,所有主网地址都以 T 开头,并且第二位是大写字母 A–Z,或 9(仅限 T9y…、T9z…)。
允许哪些字符?
Base58 使用数字和字母,但去掉了四个容易混淆的字符:
| 去掉的字符 | 原因 |
|---|---|
0(零) | 像 O |
O(大写 o) | 像 0 |
I(大写 i) | 像 l |
l(小写 L) | 像 I |
所以靓号地址可以是 …Tron 或 …Money,但不能是 …TRON 或 …MONEY——大写 O 不存在。地址区分大小写:…USDT 和 …usdt 是不同的地址。
Base58 与 hex:同一地址的两种写法
| 格式 | 示例 | 使用场景 |
|---|---|---|
| Base58 | TMVQGm1qAQYVdetCeGRRkTWYYrLXuHK2HC | 钱包、浏览器、交易所 |
| Hex | 417e5f4552091a69125d5dfcb7b8c2659029395bdf | 节点 API、智能合约 |
两者描述同一个账户,可以随意互转——试试我们的地址转换工具。去掉 41 前缀后的 20 字节,正是同一私钥对应的以太坊式地址。
如何校验 TRON 地址
- 必须是 34 位、以
T开头、只含 base58 字符。 - 校验和必须匹配:base58 解码后,最后 4 字节应等于前 21 字节两次 SHA-256 结果的前 4 字节。大多数钱包会自动校验并拒绝错误地址。
- 解码后第一个字节必须是
0x41。
校验和只防止输入错误,不能防骗:攻击者的相似地址同样有效。务必核对完整地址——见地址投毒,或用地址查询工具检查。
这对靓号地址意味着什么
T之后的号段必须以A–Z开头(9只能是T9y…、T9z…)——T8888…和T9999…不可能,TTTTT…可以。- 单词要避开
0、O、I和l。 - 每匹配一位都是 1/58 的概率,稀有度增长极快——见什么是 TRON 靓号地址。
常见问题
TRON 地址有多少位?
base58 格式为 34 位;hex 格式为 42 个十六进制字符(21 字节)。
为什么 TRON 地址以 T 开头?
TRON 在 base58 编码前加入版本字节 0x41,所有以 0x41 开头的 21 字节数据编码后都以 T 开头。
TRON 地址和以太坊地址一样吗?
底层 20 字节由同一私钥以相同方式计算,但编码不同:以太坊用 0x + hex,TRON 用 41 + base58check。绝不能因为字节相同就跨网络转账。
TRON 地址区分大小写吗?
区分。base58 大小写敏感,改变任意字符的大小写都会得到另一个(通常无效的)地址。