Solidity

Hardhat - 如何驗證契約

  • November 23, 2022

我已經成功部署了一個ERC721契約以GOERLI使用Hardhat- 並且契約執行良好**,但是當我嘗試驗證**契約時,我不斷收到錯誤。

我想知道它是否與契約部署期間傳遞的參數有關。

這是部署程式碼:

 constructor() ERC721("FunNFTs!", "Funs") {   
     // code goes here...
  }

正弦契約工作,我試圖驗證它,並從終端執行:

npx hardhat verify --network goerli 0x0123...789 "FunNFTs!" "Funs"

但這給了我以下內容:

An unexpected error occurred:

[Error: ENOENT: no such file or directory, open '/Users/johnsmith/Desktop/MyFunNFTProject/artifacts/build-info/faab804f0b89fb637a395cffcbbb44b8.json'] {
 errno: -2,
 code: 'ENOENT',
 syscall: 'open',
 path: '/Users/johnsmith/Desktop/MyFunNFTProject/artifacts/build-info/faab804f0b89fb637a395cffcbbb44b8.json'
}

我應該指出,我不知道為什麼它要我提供這個文件:"faab804f0b89fb637a395cffcbbb44b8.json"

因為該文件似乎不存在於我的電腦上的任何地方。

否則,我嘗試用逗號分隔這兩個參數,如下所示:

“有趣的 NFT!”,“有趣”

以及將它們放在“()”或“

$$ $$" - 但我每次都會遇到同樣的錯誤。 所以我幾乎被困住了。

關於這裡可能發生的事情有什麼想法嗎?

確保您已npm install --save-dev @nomiclabs/hardhat-etherscan安裝外掛。那麼您可能必須:

  1. 刪除artifactscache文件夾
  2. npx hardhat compile
  3. 再次驗證

當您有多個參數時,有一種不同的方法。 在此處輸入圖像描述

你可以在這裡找到它https://github.com/NomicFoundation/hardhat/tree/main/packages/hardhat-etherscan#complex-arguments

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