TRON 地址

TRC20 地址:格式、合约与钱包的区别,以及如何通过 API 获取

为什么 TRON 地址以 T 开头,TRC20 合约地址与钱包地址有何区别,以及如何通过 REST 创建和监控 TRC20 存款地址。

7 天免费试用 — 无需信用卡,无需 KYC 即可开始 非托管 — 私钥始终由你掌控 套餐起价 49 欧元/月(490 欧元/年)— 查看套餐和速率限制

TRC20 地址是 TRON 区块链上 TRX 和 TRC-20 代币(例如 USDT)的账户标识——一个以字母 T 开头的 Base58Check 字符串。无论你是在搭建接受 USDT-TRC20 的收银流程,还是只想分清钱包地址和合约地址的区别,本页都会介绍地址格式,以及如何通过 API 生成和监控 TRC20 地址。关于十六进制与 Base58 两种表示形式的完整技术拆解,请参阅博客上的 TRC20 地址指南

什么是 TRC20 地址?tron 地址又泛指什么?

每个 TRON 账户,无论是否与 TRC20 相关,都只有一个地址,写作两种等价形式:以 T 开头的 Base58Check 字符串(用户实际看到的形式,例如 TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t),以及以 41 开头、供 TRON 智能合约引擎 TVM 内部使用的十六进制形式。tron 地址并不专属于某一种代币——同一个地址可以持有 TRX、每一种 TRC-10 代币,以及该账户交互过的每一种 TRC-20 代币,因为 TRC-20 余额存储在各代币自己的合约中,以地址为键,而不是存储在地址本身上。

合约地址与钱包地址

在 TRON 上,两种不同的东西共享相同的 T... 格式,混淆二者是常见的集成错误。钱包地址属于某个用户或你自己的热钱包,可以发送和接收资金。trc20 合约地址——例如 USDT 的 TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t——标识定义某种特定代币并追踪每个人余额的智能合约;你不会把资金直接作为存款发送到它,而是在调用转账时把它当作参数引用。当某个集成要求提供「tron trc20 contract address」时,指的就是第二种——代币标识符,而不是收款目标。

TRC10 与 TRC20:两种不同的代币标准

TRC10 代币是原生协议资产——转移时不执行任何智能合约,因此转账只消耗 Bandwidth。TRC20 代币存在于智能合约中,在概念上镜像 ERC-20 接口,并且每次转账还会额外消耗 Energy,因为合约需要执行代码来更新其余额表。USDT 以及几乎所有具有商业意义的 TRON 代币都是 TRC20。如果你正在决定新代币该采用哪种标准发行,TRC10 与 TRC20 对比深入介绍了两者在机制和成本上的差异——如果你打算自行创建一个 TRC20 代币,而不只是接受现有代币,这一点尤其相关。

TRON 不是 EVM:为什么「tron evm」这种说法不准确

TRON 的智能合约引擎 TVM,其设计目标是与为以太坊 EVM 编写的 Solidity 合约广泛兼容,这也是 Solidity 代码通常只需极少修改就能部署到 TRON 上的原因。但 TVM 是一套独立的运行时,而不是 EVM 本身——操作码、与 gas 等价的资源计量方式(用 Energy 和 Bandwidth 代替 gas)以及地址编码方式(Base58Check 的 T 地址而非 0x)都各不相同。「TRON EVM」作为字面表述并不准确;准确的说法是「在实践中对许多合约而言与 EVM 兼容」。

通过 REST 创建并监控 TRC20 地址

接口作用
POST /api/v2/tron/addresses生成新的 TRON 地址
POST /api/v2/tron/addresses/import导入私钥,让 API 能够代表该地址签名
POST /api/v2/tron/webhooks为该地址注册 TRX、TRC-10 或 TRC-20 存款 Webhook
POST /api/v2/tron/transactions/trc20从该地址发送 TRC-20 代币,例如 USDT

这就涵盖了如何以编程方式、按你的集成所需的任意规模获取 TRC20 钱包地址,而无需在钱包应用中手动生成地址再复制进数据库。

正在搭建需要大规模生成 TRC20 地址的收银系统或交易所后端?创建免费账户,在 testnet 中批量生成地址——7 天试用,无需信用卡,无需 KYC。

常见问题:TRC20 地址

TRON 上 TRX 和 TRC-20 代币的账户标识,写作以 T 开头的 Base58Check 字符串。同一个地址可以持有 TRX 以及该账户收到过的每一种 TRC-10 或 TRC-20 代币。

定义某种特定 TRC-20 代币的智能合约地址——USDT 的合约地址是 TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t。它是作为参数传入的代币标识符,而不是你直接发送存款的目标地址。

POST /api/v2/tron/addresses 会通过 API 创建一个地址。为它注册 Webhook 意味着一旦有 TRX、TRC-10 或 TRC-20 存款到账,你的后端就会收到 HMAC 签名通知,无需轮询。

TRC10 代币是原生协议资产,不涉及合约执行,因此转移只消耗 Bandwidth。TRC20 代币通过智能合约运行,每次转账还会额外消耗 Energy。TRON 上的 USDT 就是 TRC20。

可以——TRC20 是一个开放标准,部署一个遵循该标准的合约正是包括 USDT 在内任何 TRC20 代币诞生的方式。部署完成后,其合约地址与其他任何 TRC-20 代币一样,使用同一个 POST /api/v2/tron/transactions/trc20 接口。

不等同。TRON 的 TVM 运行时被设计为能运行为以太坊 EVM 编写的大量 Solidity 代码,但它是一个独立的实现,拥有自己的资源计量方式(Energy 和 Bandwidth)以及自己的地址格式(Base58Check,而非 0x)。

准备好接入 TRON 了吗?

创建账户,今天就生成一个测试网 TRC20 地址——7 天试用,无需信用卡,无需 KYC。完整接口参考见 TRON API 文档,或使用 multi-chain blockchain API 覆盖全部七条链。