Jas*_*ran 7 ethereum erc20 ethers.js hardhat
我正在使用 Hardhat 的主网分支编写单元测试,对于测试,我想检查ownerERC20 代币(特别是 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
});
});
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法可以做到这一点?
Jas*_*ran 15
找到了我要找的东西。我做的第一件事就是将 DAI 合约地址保存在顶部:
const DAI_ADDRESS = "0x6b175474e89094c44da98b954eedeac495271d0f";
Run Code Online (Sandbox Code Playgroud)
然后我必须使用ERC20 令牌 ABI,我将其放置在与测试相同的文件夹中:
const ERC20ABI = require('./ERC20.json');
Run Code Online (Sandbox Code Playgroud)
然后,为了获取帐户的 DAI 余额,我刚刚从 DAI 合约中owner调用:balanceOf()
const DAI = new ethers.Contract(DAI_ADDRESS, ERC20ABI, provider);
DAIBalance = await DAI.balanceOf(owner.address);
Run Code Online (Sandbox Code Playgroud)
这也适用于任何 ERC20 代币。