Etherscan

具有多個 API 密鑰的“TypeError:etherscan.apiKey.trim 不是函式”

  • February 8, 2022

問候

下一個連結繼續關於多個 API 密鑰和替代塊瀏覽器的部分

https://github.com/nomiclabs/hardhat/tree/master/packages/hardhat-etherscan#multiple-api-keys-and-alternative-block-explorers

當嘗試在我的程式碼面上應用它時“TypeError:etherscan.apiKey.trim 不是函式”

1-我將 api 鍵的值添加為環境變數。

2- 我使用@nomiclabs/hardhat-etherscan 外掛來驗證過程。

3- 我使用下一個命令來驗證智能合約:

npx hardhat verify --network matic contract address

這是添加多 api 密鑰之前的程式碼(工作正常,rinkepy 和多邊形沒有任何問題)

module.exports = {
defaultNetwork: "matic",
networks: {

   rinkeby: {
       url: RINKEBY_RPC_URL,
       accounts: {
           mnemonic: MNEMONIC,
       },
       saveDeployments: true,
   },

   matic: {
       url: Mumbai_RPC_URL,
       accounts: {
           mnemonic: MNEMONIC,
       },
       saveDeployments: true,
   },
},

etherscan: {
   apiKey: ETHERSCAN_API_KEY,
},

添加多 api 密鑰後的下一個程式碼可以幫助我知道其中有什麼問題

module.exports = {
defaultNetwork: "matic",
networks: {

   rinkeby: {
       url: RINKEBY_RPC_URL,
       accounts: {
           mnemonic: MNEMONIC,
       },
       saveDeployments: true,
   },

   matic: {
       url: Mumbai_RPC_URL,
       accounts: {
           mnemonic: MNEMONIC,
       },
       saveDeployments: true,
   },
},

etherscan: {
   apiKey: {
             rinkeby: ETHERSCAN_API_KEY,
             polygonMumbai: POLYGONSCAN_API_KEY,
   }
},

我得到了同樣的錯誤(在rinkeby網路上)。通過刪除 @nomiclabs/hardhat-etherscan 包,然後重新安裝它來修復:

npm remove @nomiclabs/hardhat-etherscan

然後

npm install --save-dev @nomiclabs/hardhat-etherscan

希望有幫助!

很可能https://github.com/nomiclabs/hardhat/issues/1117#issuecomment-779213915會幫助你,因為它為我解決了這個問題。

如果沒有,您可以嘗試設置mumbai為預設網路並留下apiKey信號 ..無論如何,您似乎根本沒有定義多邊形測試網連接詳細資訊。

引用自:https://ethereum.stackexchange.com/questions/120358