调用合约的方法。
用法
visionWeb.transactionBuilder.triggerSmartContract(
contractAddress,
functions,
options,
parameter,
issuerAddress
);
入参
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
contractAddress | 合约地址 | string | - |
functions | 合约方法 | string | - |
options | 调用参数,具体见下方 | object | - |
parameter | 调用合约方法的参数 | string | - |
issuerAddress | 调用合约者的地址 | string | - |
options 参数
参数 | 描述 | 类型 | 默认值 |
---|---|---|---|
feeLimit | 调用合约方法的最大消耗,上限是 1000vs,单位是 vdt | number | - |
callValue | 本次调用往合约转入 vdt | number | - |
shouldPollResponse | 设置为 true,则会等到 solidity 节点上确认之后再返回结果 | boolean | false |
tokenId | 本次调用往合约中转入 vrc10 的 token id,如果没有,无需设置 | string | "" |
tokenValue | 本次调用往合约中转入 vrc10 的数量,如果没有设置 tokenId,该项设置为 0,或者不设置 | number |
返回值
object,创建的 transaction 对象。
示例
visionWeb.transactionBuilder.triggerSmartContract("46f151d2b560d0f0a983cdbfc85fff392bb8874258","withdraw(uint256)",{callValue: 0},[{type: 'uint256', value: 100}]);
> {
result: { result: true },
transaction: {
visible: false,
txID: 'b4d7dbb5530b964e2deddb8b98ca2888518dc622dc5018c25008bbfb62fd838f',
raw_data: {
contract: [Array],
ref_block_bytes: 'e32e',
ref_block_hash: '4822c0a5b74a319f',
expiration: 1608475572000,
fee_limit: 20000000,
timestamp: 1608475513666
},
raw_data_hex: '0a02e32e22084822c0a5b74a319f40a0eef584e82e5a8e01081f1289010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412540a1541401a8da8a7fc86f0087f8c62e630d10df10a963b121541e032de6da4f2afa69ddcc4ada40f782c7b0f019e22242e1a7d4d000000000000000000000000000000000000000000000000000000000000006470c2a6f284e82e900180dac409'
}
}