波场TRON团队为更好地服务社区开发者及建设者,吸引更多强大力量共同建设TRON全球网络生态社区,特制作TRON开发指南,指南将由浅入深为您介绍在波场网络上所遇到的问题和注意事项。 在TRON中检测TRX或TRC10事务涉及4种类型的合同: ●TransferContract(系统合同类型) ●TransferAssetContract(系统合同类型) ●CreateSmartContract(智能合约类型) ●TriggerSmartContract(智能合约类型) Transaction,TransactionInfo 和 Block 的数据包含所有智能合约交易信息。 检测和记录转移 两个合同 TransferContract 和 TransferAssetContract 分别是用于转移TRX和TRC10的系统合同。事务只包含一个契约,因此查询事务使用接口 GetTransactionbyId 获取有关契约的特定信息。使用GetBlockByNum 来检索打包事务的块信息。旅行 Block 或使用 GetTransactionInfoById 获取特定的交易信息。检查根事务结果。如果 Transaction.Result.code 失败,请拒绝此事务。没有转移。否则,检查 Transaction.raw 中的 type 以获取合同类型信息(TransferContract 或TransferAssetContract)。检查 Transaction.raw 中的 parameter 以根据 type 获取合同细节。 TransferContract ● owner_address( Bytes)是TRX发件人地址。需要将字节转换为base58Check字符串以显示可读的TRON地址。 ● to_address( Bytes)是TRX接收器地址。需要将字节转换为base58Check字符串。 ● amount( int64)是发送到合同地址的TRX金额。 TransferAssetContract ● asset_name( String)是TRC10 ID。无需转换即可显示可读的TRON地址。(此参数用于表示TRC10令牌的名称。在TRON改进建议#14通过以允许相同名称令牌后,此参数已被修改为TRC10 ID)。 ● owner_address( Bytes)是TRC10发送方地址。需要将字节转换为base58Check字符串以显示可读的TRON地址。 ● to_address( Bytes)是TRC10接收器地址。需要将字节转换为base58Check字符串以显示可读的TRON地址。 ● amount( int64)是发送到合同地址的TRC10金额。 ● CreateSmartContract 和 TriggerSmartContract 的检测类似。使用 GetBlockByNum 来检索打包事务的块信息。旅行 Block 或使用 GetTransactionInfoById 获取特定的交易信息。检查根事务结果。如果 Transaction.Result.code 为 FAILED,则拒绝此事务。没有转移。否则,检查Transaction.raw 中的 type 以获取合同类型信息(CreateSmartContract 或TriggerSmartContract)。检查 Transaction.raw 中的 parameter 以根据 type 获取合同细节。 CreateSmartContract ● owner_address( Bytes)是TRX或TRC10发送方地址。需要将字节转换为base58Check字符串以显示可读的TRON地址。 ● SmartContract.contract_address( Bytes)是TRX或TRC10接收器的地址,它必须是一个智能合约地址。由于在运行时创建,您无法从Transaction中检索它。相反,使用GetTransactionInfoById在TransactionInfo中获取contract_address。需要将数据从字节转换为base58Check字符串以显示可读的TRON地址。 ● SmartContract.call_value( int64)是发送到合同地址的TRX金额。 ● call_token_value( int64)是发送到合同地址的TRC10金额。 ● token_id( String)是相关的TRC10 ID。转换不需要显示可读的TRON地址。 TriggerSmartContract ● owner_address( Bytes)是TRX或TRC10发送方地址。需要将地址从Bytes转换为base58Check String以显示可读的TRON地址。 ● contract_address( Bytes)是TRX或TRC10接收者的地址,它必须是一个智能合约地址。需要将地址从Bytes转换为base58Check String以显示可读的TRON地址。 ● call_value( int64)是发送到合同地址的TRX金额。 ● call_token_value( int64)是发送到合同地址的TRC10金额。 ● token_id( String)是相关的TRC10 ID。 在InternalTransaction中检查转移 ● caller_address( Bytes)是TRX或TRC10令牌发送方地址。应将字节转换为base58Check字符串以显示可读的TRON地址。 ● transferTo_address( Bytes)是TRX或TRC10令牌接收器地址。应将字节转换为base58Check字符串以显示可读的TRON地址。 ● CallValueInfo是传输详细信息的列表。 ● callvalue( int64)代表tokenId为空时的TRX数量。否则,它是令牌传输值。 ● tokenId(String)是令牌标识符。rejected表示此内部交易是否失败并被拒绝。如果rejected是'true`,则不需要处理当前的内部事务,因为发生了一些错误。否则,值“false”表示成功的事务。 相关Protobuf TransferContract TransferAssetContract CreateSmartContract TriggerSmartContract Transaction TransactionInfo Block 本文来源:波场TRON —- 编译者/作者:波场TRON 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
TRON开发者指南 | 第五十七期:关于交换中的TRC10和TRX转移
2020-04-03 波场TRON 来源:火星财经
LOADING...
相关阅读:
- 启华谈币:8.4BTC行情分析及操作策略 今天需谨慎操作2020-08-04
- 最快的赚钱方法_全套教程拿去(纯干货)2020-08-04
- 网上怎么样做兼职_全套教程拿去(纯干货)2020-08-04
- 每天收入过千的偏门_全套教程拿去(纯干货)2020-08-04
- 验证Filecoin的存储教程|时空证明(PoSt)2020-08-03