method.send()

使用send来执行non-puremodify智能合约方法,这些方法确实修改了区块链,消耗资源(bandwidth 和 energy)并且还广播到网络。

用法

let contract = await tronWeb.contract.at('contractAddress'); 
let result = await contract.function_name(para1,para2,...).send({
    feeLimit:100_000_000,
    callValue:0,
  tokenId:1000036,
  tokenValue:100,
  shouldPollResponse:true
});

参数类型

参数

描述

数据类型

feeLimit

调用合约方法消耗最大数量的SUN。上限是 10000 TRX。
(1TRX = 1,000,000SUN)

Integer

callValue

本次调用往合约转账的SUN。

Integer

shouldPollResponse

如果设置为 TRUE,则会等到在 Solidity 节点上确认事务之后再返回结果。

Boolean

tokenId

本次调用往合约中转账TRC10的tokenId。如果没有,不需要设置

String

tokenValue

本次调用往合约中转账TRC10的数量,如果不设置tokenId,这项不设置。

Integer

返回值类型
Object

示例

async function triggercontract(){
    try {
        let instance = await tronWeb.contract().at('TQQg4EL8o1BSeKJY4MJ8TB8XK7xufxFBvK');
        let res = await instance.transfer('TWbcHNCYzqAGbrQteKnseKJdxfzBHyTfuh',500).send({
            feeLimit:100_000_000,
            callValue:0,
            shouldPollResponse:true
        });

        console.log(res);

    } catch (error) {
        console.log(error);
    }
}

triggercontract();