发行 TRC-721 Token
使用 TronLink 和 TronScan 部署 TRC-721 系列并铸造 NFT 的分步演练。
前置阅读
本文演示如何在 TRON 上部署 TRC-721 系列并铸造第一枚 NFT,工作流基于 TronLink(浏览器钱包)与 TronScan(带合约编译 / 部署能力的区块浏览器)。
完成后,将得到:
- 在 Shasta 测试网上部署的 TRC-721 合约。
- 至少一个已铸造的 NFT。
- 在 TronScan 上登记的系列,使钱包可以发现它。
- 在 TronLink 钱包中可见的 NFT。
准备好在主网部署时,将文中所有 shasta.tronscan.org 替换为 tronscan.org。
步骤 1——准备 TRON 账户
安装 TronLink 浏览器扩展,确保账户具备足够的质押能量,或保留足够 TRX 以便在资源不足时燃烧 TRX 支付资源成本。标准部署通常需要较高能量预算;保持充足余额可为潜在重试提供缓冲。测试网环境可通过 Shasta 测试网水龙头获取测试 TRX。
步骤 2——定制合约
从 TRC-721 合约示例开始。文件底部是可部署的合约:
contract TRC721Token is TRC721, TRC721Enumerable, TRC721MetadataMintable {
constructor() public TRC721Metadata("Your Token Name", "YTN") {}
}将 "Your Token Name" 改为系列名称,将 "YTN" 改为系列简称。保存文件。
步骤 3——使用 TronScan 部署合约
TronScan 内置合约编译器,可在一个界面中完成 Solidity 编译和部署。(偏好命令行的,也可使用 TronBox 或 TronIDE。)
步骤 3.1——连接 TronLink
打开编译器页面,点击连接钱包。在 TronLink 中批准连接。
步骤 3.2——上传合约代码
将步骤 2 中定制的合约粘贴到编辑器中。编辑器接受单文件源——参考实现本身已是一个独立的单文件。
步骤 3.3——编译
设置编译器版本 0.5.10。参考合约使用 pragma solidity 0.5.10,在未经修改的情况下无法在更新的工具链上编译。
点击编译。成功编译会生成合约列表。若编辑器显示错误,请检查最常见的原因:
- 编译器版本不匹配:必须使用上述 0.5.10。
- 缺少依赖文件:源码
import的其他合约未上传。 - 源码大小限制:拆分合约或删除未使用的库。
在编辑器中修复问题后重新编译。
步骤 3.4——部署
从编译后的合约列表中选择 TRC721Token(可部署的复合合约——而非其父合约之一)。
点击部署。TronLink 会弹出签名提示。查看能量和费用估算,然后接受。交易确认后,TronScan 返回已部署的合约地址。
复制并保存合约地址——后续每个步骤都需要用到它。
步骤 4——铸造第一个 NFT
使用步骤 3.4 中的地址在 TronScan 上打开已部署的合约。切换到合约 > 写合约标签页。
找到 mintWithTokenURI 函数。填写三个参数:
| 参数 | 填写内容 |
|---|---|
to | 将拥有铸造 NFT 的地址。使用自己的地址即可铸造给当前账户。 |
tokenId | 唯一的整数标识符;系列中每个 Token 必须有不同的 tokenId。 |
tokenURI | 指向描述该 NFT 的 JSON 元数据文件的 URL(见下文)。 |
元数据 URI
tokenURI应指向至少包含name、description和image字段的 JSON 文件。对于元数据,请参见将 NFT 元数据上传到 BTFS。关于 JSON 结构,请参见 TRC-721——元数据扩展。
仅部署者可铸造合约默认使用
MinterRole模式,因此只有部署合约的地址可以铸造。要允许其他铸造者,请参见合约示例中的MinterRole逻辑。
点击发送。TronLink 提示签名,接受。返回值为 true 表示铸造成功。
步骤 5——在 TronScan 上登记系列
登记系列可使其对钱包和区块浏览器可见。若不进行此步骤,持有者需要手动添加合约地址才能看到其 Token。
打开 TronScan Token 创建页面,选择 TRC721 作为 Token 类型。
填写登记表单:
- 合约地址:步骤 3.4 中的地址。
- 名称和符号:必须与合约构造函数中的值匹配。
- Token 图标:代表该系列的小型 PNG/JPG 图片。
- 网站、社交链接和描述:可选,但有助于提高可发现性。
使用部署者地址签名TronScan 强制要求只有部署合约的账户才能登记它。提交前请在 TronLink 中切换到部署者账户。
提交表单。TronLink 提示签名,接受。成功消息确认登记完成。
步骤 6——在 TronLink 中查看系列
在手机上打开 TronLink 应用(或浏览器扩展的资产标签页)。
-
点击**+ 添加资产**按钮。

-
按合约地址搜索。

-
粘贴 TRC-721 合约地址并确认。

该系列现在出现在你的资产列表中。
点击它可查看你持有的具体 NFT。
在任意 NFT 详情页使用发送将其转账到另一个地址。
成功确认表示 NFT 已成功转账。
后续操作
- 铸造更多 NFT:使用不同的
tokenId和tokenURI值重复步骤 4。 - 设置铸造访问控制:默认只有部署者可铸造。参见合约示例中的
MinterRole逻辑以添加其他铸造者。 - 在 BTFS 上托管元数据:参见将 NFT 元数据上传到 BTFS,提高元数据托管的去中心化程度。
- 主网部署前审计:在部署生产系列前,对合约进行审计。参见安全最佳实践。
相关资源
- TRC-721 —— 标准概览
- TRC-721 合约示例 —— 完整参考实现
- TRC-721 合约交互 —— 读取和写入已部署的 TRC-721 合约
- TRC-721 协议接口 —— 函数参考
- 安全最佳实践 —— 审计与部署检查清单
Updated 26 days ago