Solidity
Hardhat - 如何驗證契約
我已經成功部署了一個
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
安裝外掛。那麼您可能必須:
- 刪除
artifacts
和cache
文件夾- 跑
npx hardhat compile
- 再次驗證
你可以在這裡找到它https://github.com/NomicFoundation/hardhat/tree/main/packages/hardhat-etherscan#complex-arguments