trc20:
var contractAddress = "TRC-20 合約";
//選擇合約方法
let functionSelector = "transfer(address,uint256)";
//根據方法構造參數
let parameter = [
{type: "address",value: address},
{ type: "uint256", value: Math.ceil(number) }
];
//額外參數
let options = {
shouldPollResponse: false,
feeLimit: 1000000 //1Trx
};
// 構造智能合約交易信息
let res = await tronWeb.transactionBuilder
.triggerSmartContract(contractAddress, functionSelector, options, parameter)
.catch(err1 => {
// 構建交易信息失敗
return false;
});
// 向轉賬交易信息中追加 備注信息
await tronWeb.transactionBuilder.addUpdateData(res.transaction, "備注信息", 'utf8');
// 對已經添加備注的交易信息進行簽名
let sign = await tronWeb.trx.sign(res.transaction).catch(err2 => {
//簽名失敗
return false;
});
// 將簽名交易廣播上鏈
return await tronWeb.trx.sendRawTransaction(sign).catch(outputErr => {
//交易廣播出錯
console.log(outputErr);
return false;
});