使用 Ethers.js 检查 Hardhat 中 ERC20 代币的余额
Check balance of ERC20 token in Hardhat using Ethers.js
我正在使用 Hardhat 的主网分支编写单元测试,为了进行测试,我想检查 owner
账户的 ERC20 代币初始余额,尤其是 DAI。到目前为止,这是我的测试:
const { ethers } = require("hardhat");
describe("Simple Test", function () {
it("Check balance of DAI", async function () {
const provider = ethers.provider;
const [owner] = await ethers.getSigners();
// Want to get initial DAI balance here so it can be compared later
});
});
执行此操作的简单方法是什么?
找到我要找的东西。我做的第一件事是将 DAI 合约地址保存在顶部:
const DAI_ADDRESS = "0x6b175474e89094c44da98b954eedeac495271d0f";
然后我不得不使用 ERC20 token ABI,我把它放在与我的测试相同的文件夹中:
const ERC20ABI = require('./ERC20.json');
然后为了获取 owner
账户的 DAI 余额,我刚刚从 DAI 合约中调用 balanceOf()
:
const DAI = new ethers.Contract(DAI_ADDRESS, ERC20ABI, provider);
DAIBalance = await DAI.balanceOf(owner.address);
这也适用于任何 ERC20 令牌。
我正在使用 Hardhat 的主网分支编写单元测试,为了进行测试,我想检查 owner
账户的 ERC20 代币初始余额,尤其是 DAI。到目前为止,这是我的测试:
const { ethers } = require("hardhat");
describe("Simple Test", function () {
it("Check balance of DAI", async function () {
const provider = ethers.provider;
const [owner] = await ethers.getSigners();
// Want to get initial DAI balance here so it can be compared later
});
});
执行此操作的简单方法是什么?
找到我要找的东西。我做的第一件事是将 DAI 合约地址保存在顶部:
const DAI_ADDRESS = "0x6b175474e89094c44da98b954eedeac495271d0f";
然后我不得不使用 ERC20 token ABI,我把它放在与我的测试相同的文件夹中:
const ERC20ABI = require('./ERC20.json');
然后为了获取 owner
账户的 DAI 余额,我刚刚从 DAI 合约中调用 balanceOf()
:
const DAI = new ethers.Contract(DAI_ADDRESS, ERC20ABI, provider);
DAIBalance = await DAI.balanceOf(owner.address);
这也适用于任何 ERC20 令牌。