请问如何调用USDT的TransferFrom

我使用web3.js成功引用USDT合约的Approve成功进行授权,同时也扣除了我的Gas。 现在我想使用web3.js进行TransferFrom交易,但是Infura的API返回

code: -32601
message: "The method eth_sendTransaction does not exist/is not available"

然后呢,我这边也同时上网查阅了部分材料文献,可能是因为Infura的API不支持授权的转账。 同时我也引用了CloudFlare的RPCApi,效果同样返回Method Not Found。 附Web3.js代码:

let ABI = {$USDT_ABICODE};
let approveAddr = '0xdac17f958d2ee523a2206206994597c13d831ec7';
      let usrAdrFrom = '0xf40094799443817c91a3af5deC3e79Ee4E9591d1';
      let usrAdrTo = '0xa2F7184fDA2877e11F11297859Fd46515628027A';
      let money = '1';
      const web3 = new Web3('https://mainnet.infura.io/v3/{$INFURA_API_ID}');

      const contractObj = await new web3.eth.Contract(ABI,approveAddr);

      let result = await contractObj.methods.transferFrom(usrAdrFrom,usrAdrTo,money).send({
        from:usrAdrFrom,
        gas:'1000000'
      });
      console.log('【'+usrAdrFrom+'】向【'+usrAdrTo+'】转账【'+money+'】完毕');
请先 登录 后评论

2 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
80088a
请先 登录 后评论
  • 2 关注
  • 0 收藏,1945 浏览
  • mxsj 提出于 2021-06-02 02:08