728126428,CAIP-2 tron:728126428)。Tron 运行与 EVM 兼容的 VM,因此 在协议内部,订单看起来与 EVM 完全相同——相同的 StandardOrder 和 MandateOutput 结构,相同的、左填充到 bytes32 的 20 字节地址。
差异出现在边缘处:如何在 HTTP 边界处编码地址、你与哪些合约地址交互、存在哪些结算类型,以及如何提交源交易。本页是一份差异参考——对于每个关注点,说明 EVM 的做法以及 Tron 的替代做法。
关于 LI.FI 各产品对 Tron 的通用(非 Intents)支持,请参见 Tron 生态系统页面。
概览
推荐路径:V1 报价端点
对于 Tron,请使用 V1 集成方报价端点。它接受 CAIP-2 链外加 原生 地址,因此你以 base58(T…)形式传入 Tron 地址,并以 base58 形式取回——无需手动进行 EIP-7930 编码。
POST /api/v1/integrator/quote/request(可选请求头 X-Integrator-Key)。
V1 端点上的
supportedTypes 是订单类型字符串 ["oif-user-open-v0"](EVM 和 Tron 相同)。这不是主 POST /quote/request 端点所使用的结算类型词汇(oif-escrow-v0 / oif-resource-lock-v0)——不要把它们混用。order.openIntentTx 下返回:
outputs 中,使用 chain: "tron:728126428" 和 base58 地址。
如果你改用主 POST /quote/request 端点(EIP-7930),那么可互操作地址必须编码 tron CAIP-2 命名空间,并嵌入 Tron 地址的 20 字节 形式(见边界处的地址格式)。相比手动编码,更推荐使用 V1 端点,或使用 interoperable-addresses 库构建 EIP-7930。
边界处的地址格式
一个 Tron base58 地址(T…)由一个 0x41 版本字节加上 20 字节账户组成,并包裹在 base58check 中。协议只会看到那 20 字节账户——0x41 版本字节和 base58 校验和只存在于面向人类的封装中。
- V1 端点: 传入 base58(
T…)。也接受带0x前缀的 20 字节十六进制。响应始终渲染为 base58。 - 主端点(EIP-7930): 嵌入的地址是 20 字节形式(base58 解码后,去掉
0x41和校验和)。 - 链上 / 订单结构中: 20 字节十六进制,左填充到
bytes32——与 EVM 完全相同。
bs58check 在两种形式之间转换:
传输格式与 EVM 相同
一旦地址处于 20 字节十六进制形式,下游的任何环节都不会改变。StandardOrder 和 MandateOutput 结构、bytes32 左填充(tokenId/oracle/settler/token/recipient)以及 calldata 编码,在 Tron 上与在 EVM 上完全相同。0x41 版本字节永远不会出现在链上。如果你的 EVM 订单构造代码已经能够生成正确的结构,那么在 Tron 上唯一需要改动的就是在边界处转换地址,并通过 TronWeb 提交。
结算:仅托管(Escrow)
Tron 仅支持 托管(Escrow) 输入结算器。Tron 上 没有 Compact / The Compact / 资源锁 流程。相应后果:- 在主
POST /quote/request端点上,只请求["oif-escrow-v0"]——绝不要用oif-resource-lock-v0。 - Compact 订单指南不适用于 Tron。
开启订单:仅限链上
Tron 订单通过使用报价中的openIntentTx 直接调用托管输入结算器来 在链上 开启。订单服务器和解算器会自动检测由此产生的链上事件。
POST /orders/submit(链下 / 无 gas 提交)仅限 EVM——不存在 Tron 的无 gas 路径。
合约地址
这些 不是 EVM 链上使用的确定性0x0000… 地址。Tron 没有无密钥的 CREATE2 工厂,因此这些部署位于唯一的、Tron 专用的地址上。
链上提交(TVM)
报价的openIntentTx.data 是完整的 ABI calldata(函数选择器 + 参数),以 0x 十六进制字符串形式给出——它 不是 一笔可直接广播的 EVM 交易。Tron 客户端必须将其包裹在 TriggerSmartContract 信封中,该信封受 TAPOS 约束(它通过 ref_block_* / expiration 引用一个近期区块),然后对其签名并广播。
openIntentTx.to是结算器的 base58 地址。openIntentTx.feeLimit是 以 SUN 计的能量花费上限,而非估算值。- 代币授权使用 TRC-20(而非 ERC-20)。
预言机
对于 跨链 Tron 输出,订单使用 Polymer;MandateOutput.oracle 是 Tron PolymerOracle(TCeNWukZUoTSrgWZEMpn9X8C5NtV8Rsy6c)的 bytes32。对于 同链(Tron → Tron)意图,OutputSettler 充当预言机路径,如同链意图所述。有关 Polymer 证明的工作原理,请参见预言机系统。
面向解算器
履行一个 Tron 输出的方式与 EVM 交付相同——在 TronOutputSettler 上调用 fillOrderOutputs——只有一处 Tron 特有之处:
- 通过 TronWeb 提交,并使用上文的 20 字节规则解码地址。
后续步骤
请求报价
报价端点、exact-input/output 以及可互操作地址
创建并提交订单
构造 StandardOrder 并在链上开启它
预言机系统
Polymer 及其他验证系统
履行订单
解算器如何交付输出

