triggersmartcontract 的使用说明

triggersmartcontract:api 接口参数以及返回数据的注释文档

https://github.com/tronprotocol/Documentation/blob/master/TRX_CN/Tron-http.md

https://developers.tron.network/v3.0/reference#trigger-smart-contract

Shell

调用合约指令

triggercontract

参数说明

contract_address:即之前部署过合约的地址,格式 base58,如:TTWq4vMEYB2yibAbPV7gQ4mrqTyX92fha6
method:调用的函数签名,如set(uint256,uint256)或者 fool(),参数使用','分割且不能有空格
args:如果非十六进制,则自然输入使用','分割且不能有空格,如果是十六进制,直接填入即可
is_hex:输入参数是否为十六进制,false 或者 true
fee_limit:和deploycontract的时候类似,表示本次部署合约消耗的TRX的上限,单位是SUN(1 SUN = 10-6 TRX),包括CPU资源、STORAGE资源和可用余额的消耗。
value:在部署合约时,给该合约转账金额,使用十六进制32位表示

调用的例子

设置 mapping 1->1
triggercontract TTWq4vMEYB2yibAbPV7gQ4mrqTyX92fha6 set(uint256,uint256) 1,1 false 1000000 0000000000000000000000000000000000000000000000000000000000000000

取出 mapping key = 1的 value
triggercontract TTWq4vMEYB2yibAbPV7gQ4mrqTyX92fha6 get(uint256) 1 false 1000000 0000000000000000000000000000000000000000000000000000000000000000

RPC 调用

wallet/triggersmartcontract
作用:调用合约
demo: curl -X POST http://127.0.0.1:8090/wallet/triggercontract -d '{"contract_address":"4189139CB1387AF85E3D24E212A008AC974967E561","function_selector":"set(uint256,uint256)","parameter":"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002","fee_limit":10,"call_value":100,"owner_address":"41D1E7A6BC354106CB410E65FF8B181C600FF14292"}'
参数说明:
contract_address,hexString格式
function_selector,函数签名,不能有空格
parameter:调用参数[1,2]的虚拟机格式,使用remix提供的js工具,将合约调用者调用的参数数组[1,2]转化为虚拟机所需要的参数格式
fee_limit:最大消耗的SUN(1TRX = 1,000,000SUN)
call_value:本次调用往合约转账的SUN(1TRX = 1,000,000SUN)
owner_address:发起triggercontract的账户地址
返回值:TransactionExtention, TransactionExtention中包含未签名的交易Transaction

Leave a Reply

Your email address will not be published. Required fields are marked *