编写与编译
为 TRON 编写 Solidity 代码并使用 TronIDE、TronBox 进行编译。本页介绍 TronIDE 的工作流; 命令行工作流请参阅 TronBox 文档。
前置阅读
为 TRON 编写并编译智能合约,主要有两种工具:
- TronIDE:一款网页端集成开发环境(IDE),定位类似于以太坊的 Remix。它无需任何本地环境配置,是快速上手开发的首选。
- TronBox:一款集成了编译、测试与部署的命令行工具(CLI),适合工程化项目流及 CI/CD 自动化管道。具体的命令行部署实操请参阅快速通道。
本页重点讲 TronIDE 工作流,它的学习和配置门槛最低。偏好命令行开发,直接看 TronBox 文档。
在 TronIDE 中新建与导入合约文件
在 FILE EXPLORER(文件浏览器)选项卡中,点击 Create New File(新建文件)直接编写新合约;或选择 Load a local file into current workspace(加载本地文件至当前工作区)导入本地合约文件。
想基于模板开发,TRC-20 合约模板适合发行同质化 Token(Fungible Token);发行非同质化 Token(NFT)见 TRC-721 合约示例。
编译合约
在 TronIDE 界面中切换至 SOLIDITY COMPILER(Solidity 编译器)选项卡,并进行以下配置:
- 选择编译器版本 —— 选用与合约源文件中
pragma solidity声明完全匹配的版本。请使用明确的版本声明(例如pragma solidity 0.8.6;),不要添加脱字号前缀(如^0.8.6),从而防范编译器小版本差异带来的非预期底层行为改变。 - 配置能耗优化(Optimizer) —— 勾选启用优化(Enable optimization)并设置相应的 Runs(运行次数)。默认
runs: 200适用于绝大多数场景;较低的 runs 参数能减小最终字节码体积,但代价是后续调用该合约时可能消耗更多能量。 - 点击 Compile 按钮 —— 启动编译流程。TronIDE 会在下方列表和代码编辑器内行内展示所有的警告与编译报错信息。
妥善记录编译器配置后续在 TRONSCAN 浏览器上验证已部署的合约源码时,必须提供与编译时完全一致的编译器版本、是否启用优化以及 runs 参数。请记录这些编译配置,因为 TRONSCAN 的源码验证器需要用一模一样的环境配置重新生成字节码,以便哈希比对。详情请参阅合约验证。
查看与获取编译产物
编译通过后,点击 Compilation Details(编译详情)按钮可以查看完整的合约元数据,包含合约名称、ABI 接口规范、已生成的字节码(Bytecode)以及编译器输入参数。
ABI 用于指导客户端 SDK(TronWeb、TronBox 迁移脚本、ethers.js 等)编码和解码函数调用;字节码则是最终部署并写入链上的二进制指令。
相关资源
- 快速通道 —— 熟悉基于命令行工具 TronBox CLI 的合约开发流程
- TRON 上的 Solidity —— 深入了解 TRON 专有的 Token 及质押语言扩展
- 部署上链 —— 学习如何将编译好的智能合约部署至目标网络
- 合约验证 —— 了解合约部署后如何在 TRONSCAN 上开源源码
Updated 26 days ago