如何使用不同的地址来调用安全帽测试和脚本中的函数?

时间:2021-06-25 06:19:06

标签: ethereum solidity smartcontracts ethers.js hardhat

在运行测试和脚本时,所有函数都由Hardhat提供的第一个地址调用。

我想知道是否有办法在同一测试或脚本中更改调用地址。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您可以使用 connect() 方法。

来自https://hardhat.org/tutorial/testing-contracts.html#using-a-different-account的代码示例

const [owner, addr1, addr2] = await ethers.getSigners();

// Transfer 50 tokens from owner to addr1
await hardhatToken.transfer(addr1.address, 50);

// Transfer 50 tokens from addr1 to addr2
await hardhatToken.connect(addr1).transfer(addr2.address, 50);