在这篇文章中,我们将探讨如何使用ethers.js将ERC-20令牌从一个地址转移到另一个地址
Ethers是一个非常酷的JavaScript库,它能够发送EIP-1559事务,而无需手动指定气体属性。它将确定gasLimit,并默认使用1.5 Gwei的maxPriorityFeePerGas,从v5.6.0开始。
此外,如果您使用签名者类,它也会知道如何为您管理nonce。
因此,让我们使用这个ethers send transaction交易示例作为参考,看看当我们想要发送ERC-20代币而不是ETH时,代码是如何变化的。
但首先,让我们从这个水龙头在Goerli上获得一些LINK测试ERC-20代币https://faucets.chain.link/.一旦你拿到了测试代币,你就可以开始了。
在查看代码之前,让我们找出发送ETH和ERC-20代币之间的本质区别:交易不会发送任何价值,而是会调用具有相关参数(to_address,amount)的代币合约转移函数。
首先,我们需要创建一个ERC-20合约实例,可以通过以太坊的api接口获取代币合约的abi,具体参见接口Get Contract ABI for Verif