gettokenbalance(address treasury, bytes32 path, address token) return (uint256 balance)
token: 代币在所在网络的合约地址,如果是所在网络的本币,则为0x后面加40个零,即为0x0000000000000000000000000000000000000000
URL:对应网络的rpc,可从 chianlist 中获取最快的rpc。
Method: Post
Body(raw/json):
{
"method": "eth_call",
"params": [
{
"to":"0x53F19AE0c1a06fB320f0FC0b4DeAA0d56eB1b14A",
"data":"0x6a29286b000000000000000000000000952840ca0fc4616b33087de7436640f60c5f3976c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6"
}
],
"id": 1,
"jsonrpc": "2.0"
}
Body中,
method: 为“eth_call”,点击了解(https://www.quicknode.com/docs/ethereum/eth_call)
to: CoinMerge的合约地址,不同的网络,合约地址不同,请从上面准备工作中获取
data: 由四部分组成,
第一部分:bytes4(keccak256(“gettokenbalance(address,bytes32,address)”)), keccak256后,取前8位,前面再补上0x,为0x6a29286b;
第二部分:参数1,即国库地址,去掉0x后,前面补零,总共64位
第三部分:参数2,即路径,bytes32(keccak256(path)), 把参数2 keccak256后,前面补零,总共64位
第四部分:参数3,即代币地址,去掉0x后,前面补零,总共64位
把四个部分以字符串的形式拼接,形成最终的data.
id:自定义标识,此处为 1,
jsonrpc: 为rpc版本,此处为 2.0
返回值:请求发送后,将得到收款钱包指定代币的余额。