uniswap如何调用approve函数

How does uniswap call the approve function

我正在尝试为用户构建一个无代码工具,我希望能够代表用户转移令牌。

任何时候我调用 IERC20(token address).approve 函数时,我的元掩码都不会 return 像附加图像那样的屏幕,并且 IERC20(token address).transferFrom 函数不会执行。

批准功能


tps://i.stack.imgur.com/NfyMC.png

从您的合约中调用 approve() 函数只会批准从您的合约地址花费代币 - 而不是来自用户。

您需要从您的前端应用程序调用 MetaMask 弹出窗口——而不是从合约中。

使用他们的 request 方法,使用 approve() 函数的 data 字段及其参数请求对代币合约的交易。

或使用更多 high-level 方法:创建 web3js 的前端实例,ethers.js,或您喜欢的任何库,连接到 window.ethereum 本地提供程序,然后调用 approve() 从这里开始在代币合约上运行。这也将打开 MetaMask 弹出窗口 windows 要求用户签署交易。