使用exchange.IO()
函数调用TRON的RPC方法。对于需要签名的方法,底层已经自动封装了签名操作。这里列举一些常用方法,其余方法可以具体查阅TRON官方项目资料。
- GetAccount
exchange.IO("api", "tron", "GetAccount", "TKCG...") // "TKCG..."是TRON钱包地址,该函数返回"TKCG..."地址的账户信息。
exchange.IO("api", "tron", "GetAccountResource", "TKCG...") // 获取指定钱包地址的资源,包括能量和带宽。
exchange.IO("api", "tron", "GetContractABI", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t") // 拉取 USDT TRC20合约ABI
exchange.IO("api", "tron", "GetAssetIssueByName", "TRX") // 根据token名称获取token资产信息
exchange.IO("api", "tron", "GetNowBlock") // 获取当前区块信息
exchange.IO("api", "tron", "GetBlockByNum", 70624300)
exchange.IO("api", "tron", "GetTransactionByID", "05a8fae2cd1cbf36b61d12e219588d25b4826436f055f93388a96e620ec3f3f2") // 根据具体哈希值获取Transaction
js
exchange.IO("api", "tron", "TRC20ContractBalance", "TKCG...", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t") // 获取钱包 USDT 的余额,注意数据是没有经过精度处理的可读数据,例如返回的数据为:
6890251,即
6.890251 USDT
function main() {
let ret = exchange.IO("api", "tron", "TriggerConstantContract", "", "TSUUVjysXV8YqHytSNjfkNXnnB49QDvZpx", "token0()", "") // 调用某个智能合约的token0()方法,TriggerConstantContract用于调用read方法
let data = exchange.IO("decode", "address", Encode("raw", "raw", "hex", ret["constant_result"][0])) // 解码数据
return data // data: 0x891cdb91d149f23b1a45d9c5ca78a88d0cb44c18
}
function main() {
let ret = exchange.IO("api", "tron", "TRC20Call", "", "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", "0x06fdde03", true, 0) // 使用TRC20Call调用read方法0x06fdde03
let data = Encode("raw", "raw", "hex", ret.constant_result[0])
return exchange.IO("api", "tron", "ParseTRC20StringProperty", data) // Tether USD
}
exchange.IO("api", "tron", "Transfer", "TWTbn...", "TKCG...", 1000000) // 使用Transfer方法转账TRX,从"TWTbn..."转到"TKCG...",1000000即1TRX。