Hardhat

hardhat-deploy: ProviderError: evm_snapshot 方法不存在/不可用

  • May 9, 2021

我正在嘗試使用安全帽執行測試,並使用以下命令部署我的部署/固定裝置:

npx hardhat test --network rinkeby --deploy-fixture

當我執行它時,我收到以下錯誤:

ProviderError: The method evm_snapshot does not exist/is not available

我有一個deploy文件夾,其中包含我要部署的所有方法,並且npx hardhat deploy --network rinkeby效果很好。

是什麼賦予了?

夾具功能目前不適用於測試網。如果你想在測試網上執行你的測試,你首先必須部署合約,然後執行你的測試。

以下假設您的燈具設置看起來像這樣(?):

await deployments.fixture(contractName);

isLocalEnv您可以按如下方式定義函式。

function isLocalEnv(envName: string) {
 return !!({
   hardhat: true,
   localhost: true,
 } as Record<string, true>)[envName];
}

然後,無論您在何處設置夾具,network從導入hardhat並使用isLocalEnv以防止可能無用的夾具 init。阿卡。

if (isLocalEnv(network.name)) {
 await deployments.fixture(contractName);
}

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