erc721合约怎么接收usdt?求大佬解答

是这样的,我目前编写了一个区块链游戏的智能合约,用户在购买nft的时候,希望让用户先授权一定数额的usdt,再进行交易,我又看到其他的文章,使用 usdt.approve(address(this), amount); 再使用 usdt.transferFrom(fromAddr,address(this), amount);在我测试的时候,调用了授权一定数额的usdt,我的钱包里面没有usdt,也可以点击确定,然而并没有任何效果,感觉像是执行了一步什么效果都没有的操作;代码如下,不知道是不是我调用的approve方法不对,我看有的是继承的StandardToken.sol,我在openzeppelin那里也没有找到这个.png

请先 登录 后评论

最佳答案 2021-11-01 14:52

让用户授权, 是需要让用户直接在前端调用 USDT 合约的approve. 而不是通过你的合约调用(通过你的合约调用approve, 那就是合约授权给合约)。

请先 登录 后评论

其它 1 个回答

mxsbet
请先 登录 后评论
  • 2 关注
  • 0 收藏,3593 浏览
  • D-three 提出于 2021-10-31 19:59