部署
使用 TronIDE、TronBox 或 TronWeb 部署已编译的 TRON 智能合约。本页涵盖高层次部署路径。
前置阅读
TRON 智能合约有几种高层部署路径,可按开发工作流选择:
- TronIDE:完全在浏览器内操作,适合轻量级部署、测试与学习场景。
- TronBox CLI:适用于工程化项目开发与 CI/CD 自动化流水线,完整实操演练请参阅快速通道。
- 底层 HTTP API:适合需要自定义部署流水线或需要精细化控制底层参数的场景,具体调用细节请参阅智能合约部署与调用。
准备工作
正式部署前,请准备好以下事项:
- 安装 TronLink 钱包 —— 安装 TronLink 浏览器插件钱包,并导入或创建一个用于部署合约的账户。
- 切换目标网络 —— 在 TronLink 中选择正确的网络环境(如主网、Shasta 测试网或 Nile 测试网)。本指南统一使用 Shasta 测试网 进行演示。
- 充足的 Token 余额 —— 部署账户需持有足够 TRX,用于支付
fee_limit以及部署消耗的能量与带宽。在 Shasta 测试网部署,可参考获取测试网 Token免费领取测试 TRX。
在 TronIDE 中部署合约
合约顺利编译通过后(具体步骤请参考编写与编译),在 TronIDE 中切换至 DEPLOY & RUN TRANSACTIONS(部署与运行交易)选项卡,并配置以下关键字段:
| 字段 | 值 |
|---|---|
| ENVIRONMENT | Injected TronWeb(使用当前 TronLink 钱包已连接的账户) |
| ACCOUNT | 用于发起部署交易的钱包账户地址 |
| CONTRACT | 选择要部署的主智能合约 |
| Fee Limit | 本次部署允许消耗的 TRX 最高限额,单位为 sun(例如部署标准的 TRC-20 合约通常建议设为 1,000 TRX = 1000 * 1e6 sun) |
| TRX amount to send | 仅当合约构造函数带有 payable 修饰符且部署时需要向合约内充值 TRX 时才需设置;否则请保持默认值 0 |
参数配置无误后,点击 Deploy(部署)按钮,此时 TronLink 钱包会自动弹出交易签名提示窗口,请点击确认签名。
验证部署是否成功
在钱包中签名确认后,该部署交易会被广播至全网。要确认合约已部署上链,用部署交易的 ID(Transaction ID)查询执行回执:
BASE_URL=https://api.shasta.trongrid.io # 示例——替换为任意 TRON 节点(TronGrid、第三方或自建)
curl -X POST ${BASE_URL}/walletsolidity/gettransactioninfobyid \
-d '{"value":"17532357496d30002a9344afa53be0c53187d2c2f531a96c8a4c5e73e0647521"}'部署成功时,返回 JSON 回执中 contractResult 字段有对应数据,contract_address 字段包含分配的合约地址。关于交易确认状态的完整判定标准,请参阅交易确认流程。
常见部署错误排查
- OUT_OF_ENERGY:若执行回执显示此错误,表明设置的
fee_limit限制额度较低,或账户余额不足以支付燃烧的 TRX,请调高fee_limit后重试。- BAD_JUMP_DESTINATION:此错误通常说明生成的字节码文件损坏或版本不匹配,请尝试重新编译后再次部署。
- 更多其他类型的运行时报错原因,请参阅智能合约常见错误。
后续步骤
合约部署上链后,通常进行以下操作:
- 在 TRONSCAN 上验证合约源码,以实现代码开源和可信审计 —— 请参阅合约验证。
- 编写应用脚本或前端 DApp 与已部署的合约进行方法交互 —— 请参阅与智能合约交互。
- 基于已部署的合约标准发行并管理 TRC-20 Token —— 请参阅发行 TRC-20 Token 指南。
相关资源
- 快速通道 —— 体验 10 分钟命令行部署“Hello World”合约
- 底层智能合约部署与调用 —— 深入了解底层 HTTP API 接口调用及参数定义
- 合约验证 —— 学习如何在 TRONSCAN 上验证并开源合约源码
- 与智能合约交互 —— 掌握在脚本和应用中调用合约的方法
- FeeLimit 与能量成本管理 —— 掌握部署与调用的能耗成本控制及优化方案
Updated 26 days ago