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

Posted

技术标签:

【中文标题】如何使用不同的地址来调用 Hardhat 测试和脚本中的函数?【英文标题】:How can I use different addresses to call functions in Hardhat tests and scripts? 【发布时间】:2021-09-08 13:46:18 【问题描述】:

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

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

提前致谢!

【问题讨论】:

【参考方案1】:

您可以使用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);

【讨论】:

以上是关于如何使用不同的地址来调用 Hardhat 测试和脚本中的函数?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何使用React Router来调换我想要在头体和脚中显示的内容?

如何在本地以太坊测试网络hardhat中使用pancakeswap?

第145篇 Hardhat 开发环境

在 Moralis 分叉测试网上运行 npx hardhat test --network local 或 npx hardhat test --network kovan 时出现未经授权的错误

智能合约开发 基于Hardhat(实操)

hardhat + typescript合约部署测试