首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ERC20传输Ether.js令牌?

如何使用ERC20传输Ether.js令牌?
EN

Stack Overflow用户
提问于 2022-04-05 23:50:17
回答 1查看 3.5K关注 0票数 0

我正在尝试用安全帽测试我的智能契约,但为了做到这一点,我首先需要向我的合同发送一些ERC20令牌(对于这个测试,我使用的是USDC)。

在我的测试中,我模拟了一只USDC鲸鱼,但是我如何将USDC实际转移到我的合同中呢?

代码语言:javascript
复制
it("USDC test", async function () {
    const testContract =
        await ethers.getContractFactory("TestContract")
            .then(contract => contract.deploy());
    await testContract.deployed();

    // Impersonate USDC whale
    await network.provider.request({
        method: "hardhat_impersonateAccount",
        params: [USDC_WHALE_ADDRESS],
    });
    const usdcWhale = await ethers.provider.getSigner(USDC_WHALE_ADDRESS);

    // Need to transfer USDC from usdcWhale to testContract
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-05 23:50:17

要传输ERC20令牌,首先需要部署令牌的主协议。您将需要令牌契约地址以及ERC20 ABI

代码语言:javascript
复制
const USDC_ADDRESS = "0x6262998ced04146fa42253a5c0af90ca02dfd2a3";
const ERC20ABI = require('./ERC20ABI.json');

const provider = ethers.provider;
const USDC = new ethers.Contract(USDC_ADDRESS, ERC20ABI, provider);

然后将100个USDC从usdcWhale传输到testContract do:

代码语言:javascript
复制
await USDC.connect(usdcWhale).transfer(testContract.address, 100);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71759637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档