Balances
Hardhat,ether.js - 在本地獲取簽名者的餘額顯示沒有乙太
我正在嘗試在本地測試中獲取簽名者的餘額。我沒有更改安全帽配置中帳戶的預設值 eth。然而,當我查詢餘額時,我發現賬戶沒有任何餘額。
這是我的程式碼:
[owner, alice, bob, chuck, ...others] = await ethers.getSigners(); provider = ethers.getDefaultProvider(); balance = await provider.getBalance(owner.address); console.log(balance.toString()); // 0
我錯過了什麼?
問題是
getDefaultProvider
連接到主網返回的提供程序,而我試圖在本地進行測試。我最終通過呼叫getNetwork
提供商的電話得出了這個結論,看到正在使用的網路實際上是主網路。為了解決這個問題,我查閱了 hardhat 文件,hardhat 在 ethers 對像中提供了一個自定義提供程序,可以使用
ethers.provider
.所以修復正在使用:
provider = ethers.provider;