LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > TRON开发者指南 | 第五十七期:关于交换中的TRC10和TRX转移

TRON开发者指南 | 第五十七期:关于交换中的TRC10和TRX转移

2020-04-03 波场TRON 来源:火星财经

波场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开发者指南 | 第五十七期:关于交换中的TRC10和TRX转移

—-

编译者/作者:波场TRON

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...