Ethereum-Classic
Q&A:如何測試不同賬戶下的合約?
這部分自己的問答系列文章分享了在一個項目的工作中獲得的知識
我需要在不同的帳戶下測試我的契約,並正在尋找方法來做到這一點。
在安全帽案例中,您首先需要使用 ethers.getSigners() 函式獲取您的安全帽區塊鏈模擬賬戶。請知道它返回一個帶有簽名者對象的數組。當您擁有帳戶時,您可以使用 contract.connect 方法將您的契約與您從 getSigners() 函式獲得的所需簽名者帳戶連接起來。
https://hardhat.org/hardhat-runner/plugins/nomiclabs-hardhat-ethers https://docs.ethers.io/v5/api/contract/contract/
let [account1,account2,account3] = await ethers.getSigners(); await contract.connect(account2).method();
ether.js
允許這樣做:contract.connect(anotherUser).transfer();
我還看到了一個創建單獨合約的選項,該合約將充當 Actor 來驗證測試案例。