HardhatError:HH700:未找到契約“Greeter”的工件 - 澄清Hrd_嗬嗬嗬嗬_____epelin_H一種rdH一種噸,這p和n和和pp和l一世nHardhat, openzeppelin
我在執行此操作時不斷收到此錯誤:npx hardhat run scripts/sample-script.js –network testnet。
我得到了一個答案:“您將契約命名為 ‘Nikola’ 而不是 ‘Greeter’。實際的文件名僅對導入很重要。” 對於這個問題:HardhatError: HH700: Artifact for contract “Greeter” not found。
但我無法修復它,我刪除了契約歡迎程序並將 greeter.sol 編輯為 Nikola.sol 但問題仍然存在。
有人可以就如何解決此問題提供一些建議,將不勝感激。至少澄清一下,會很棒。我應該怎麼做才能修復它?
帶有 sample-script.js 的更新圖片。
secret@MacBook-Air-som-tillhor-secret 程式碼 2 - Hardhat % npx hardhat run scripts/sample-script.js –network testnet
使用 0.8.4 編譯 1 個文件 編譯成功完成
HardhatError:HH700:未找到契約“Greeter”的工件。在 Artifacts._handleWrongArtifactForContractName (/Users/secret/Documents/Code 2 - Hardhat /node_modules/hardhat/src/internal/artifacts.ts:473:11) 在 Artifacts._getArtifactPathFromFiles (/Users/secret/Documents/Code 2 - Hardhat / node_modules/hardhat/src/internal/artifacts.ts:587:19) 在 Artifacts._getArtifactPath (/Users/secret/Documents/Code 2 - Hardhat /node_modules/hardhat/src/internal/artifacts.ts:270:17) 在Artifacts.readArtifact (/Users/secret/Documents/Code 2 - Hardhat /node_modules/hardhat/src/internal/artifacts.ts:50:26) 在 getContractFactoryByName (/Users/secret/Documents/Code 2 - Hardhat /node_modules/@ nomiclabs/hardhat-ethers/src/internal/helpers.ts:100:20) 在主要 (/Users/secret/Documents/Code 2 - Hardhat /scripts/sample-script.js:17:19)
請記住,您的 Solidity 契約的名稱也必須匹配。
如果您嘗試使用
const License = await ethers.getContractFactory('License');
這行得通
contract License {...}
這不
contract MyLicense {...}
問題可能出在您
sample-script.js
身上,並且您引用的是“Greeter”而不是“Nikola”。如果沒有,請嘗試刪除artifacts/
和cache/
文件夾並重試。