💰生成收款钱包

通过此接口生成收款钱包地址。

getwalletadd(address treasury, bytes32 path) return (address walletadd)

参数解释:

treasury:国库钱包的地址,生成的收款钱包中的代币只能往这个地址转移

path:路径,可以是用户ID,订单ID等任何能区分收款钱包的关键信息

walletadd:返回值,返回收款钱包的地址,

任何时候,相同的国库钱包和路径,将生成一个相同的收款钱包。

HTTP 调用说明

   URL:对应网络的rpc,可从 chianlist 中获取最快的rpc。
Method: Post
Body(raw/json):
{
  "method": "eth_call",
  "params": [
    {
      "to":"0x53F19AE0c1a06fB320f0FC0b4DeAA0d56eB1b14A",
"data":"0xe79bd9dd000000000000000000000000952840ca0fc4616b33087de7436640f60c5f3976c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6"
    }
  ],
  "id": 1,
  "jsonrpc": "2.0"
}    

Body中,
method: 为“eth_call”,点击了解(https://www.quicknode.com/docs/ethereum/eth_call)
    to: CoinMerge的合约地址,不同的网络,合约地址不同,请从上面准备工作中获取
  data: 由三部分组成,
        第一部分:bytes4(keccak256(“getwalletadd(address,bytes32)”)), keccak256后,取前8位,前面再补上0x,为0xe79bd9dd;
        第二部分:参数1,即国库地址,去掉0x后,前面补零,总共64位;
        第三部分:参数2,即路径,bytes32(keccak256(path)), 把参数2 keccak256后,前面补零,总共64位。
        把三个部分以字符串的形式拼接,形成最终的data.
     id:自定义标识,此处为 1
jsonrpc: 为rpc版本,此处为 2.0

返回值:请求发送后,将得到收款钱包的地址,获取返回值,取后40位,前面补上 0x,即为生成的收款钱包地址

data参数生成校验

在下面代码中,你可以更改国库地址和路径,进行生成校验。

最后更新于