TRON开发者指南 | 第十期:关于TRC10智能合约转让
波场TRON|TRON开发者指南
波场TRON团队为更好地服务社区开发者及建设者,吸引更多强大力量共同建设TRON全球网络生态社区,特制作TRON开发指南,指南将由浅入深为您介绍在波场网络上所遇到的问题和注意事项。
▼
欢迎来到
波场TRON开发者指南
在这里
您将找到最全面的指南与文档
助力您完美使用
【TRON Developer Guide 】
TRC10 代币是波场中的系统级代币类型。与 TRC20 代币相比,TRC10 代币面临用户体验灵活性问题。 在Odyssey 3.2中,开发人员及其智能合约调用者可以根据合同逻辑,通过智能合约与TRC10代币交互,从而使他们能够更好地在业务场景中控制代币执行。 与TRC20代币不同,发送TRC10代币与在合同中传输TRX一致,这意味着TRC10的使用量类似于TRX使用量。
将 TRC10 转到智能合约账户
TRC10 代币可以通过合约调用转移到智能合约。 合同调用使用DeployContract和TriggerContract的两个gRPC API。
钱包-CLI和示例
部署合约
新参数说明
tokenValue:调用方希望从调用方帐户发送到合约帐户的代币金额。
tokenId :目标代币标识符,是ProtoBuf中的int64类型。 在钱包客户端中,使用#表示 tokenId 的无效字段。
智能合约中的TRC10交互
TRC10 合约示例
TRC 代币类型
Odyssey_v3.2 为TRC10 代币定义了一种新类型(trcToken),它代表代币转账操作中的 tokenId。 TRC10 代币可以转换为 uint256 类型,反之亦然。
转移代币
Odyssey_v3.2 为 TRON solidity 编译器中的 TRC10 代币传输定义了一个新的 transferToken 函数,并且在 JAVA-TRON 中也得到了支持。 地址类型变量调用此本机函数。这意味着当前合同希望将特定数量的目标代币从合同的帐户,转移到此地址的帐户。 TransferToken 函数与 transfer(uint256)函数共享类似的机制。 只有 2300 能量被发送到此函数,及其相关的回退函数。
代币余额查询
Odyssey_v3.2为 TRC10 代币余额查询定义了一个新的 tokenBalance 函数。 地址类型变量调用此本机函数,该函数返回地址帐户拥有的目标代币数量。
TokenValue & TokenID
Msg.tokenvalue 表示当前 msg 调用中的标记值,默认值为 0。 Msg.tokenid 表示当前 msg 调用中的标记 Id,默认值为 0。
Solidity 编译器
GitHub
Odyssey v3.2
重要提示
在 JAVA-TRON Odyssey_v3.2 中的 ALLOW_TVM_TRANSFER_TRC10 提案获得批准之前,新 TRON / solidity Odyssey_v3.2 编译器生成的字节码将无法工作。 因此,TRON-Studio 和依赖于 TRON 编译器的任何其他工具不应导入版本 3.2 编译器并向公众公开,直到链上批准 ALLOW_TVM_TRANSFER_TRC10 提议为止。
- END-
波场TRON创始人及团队介绍
了解波场TRON最新官方动态