Hardhat验证智能合约遇HH303错误:未识别verify任务
解决Hardhat验证合约报错“Unrecognized task verify”
核心原因
Hardhat的verify任务并非原生内置,必须安装官方验证插件才能启用该功能。
解决步骤
- 安装验证插件
在项目根目录执行以下命令之一安装依赖:
npm install --save-dev @nomicfoundation/hardhat-verify
或使用yarn:
yarn add --dev @nomicfoundation/hardhat-verify
- 在配置文件中启用插件
打开hardhat.config.ts,在文件顶部添加插件导入语句:
import "@nomicfoundation/hardhat-verify";
同时确保网络配置中包含etherscan字段(以以太坊主网为例):
const config: HardhatUserConfig = { networks: { eth: { url: "你的以太坊节点URL", accounts: ["你的部署私钥"] } }, etherscan: { apiKey: "你的Etherscan API密钥" }, // 其他原有配置... };
- 重新执行验证操作
- CLI命令方式:
npx hardhat verify --network eth 0x5f140EA4e08D1aF9F41fA4cf935FC7a98EF4FfF8 --show-stack-traces
- 代码调用方式:
await hre.run("verify:verify", { address: "0x5f140EA4e08D1aF9F41fA4cf935FC7a98EF4FfF8", contract: "contracts/stake/StakeFactory.sol:StakeFactory", constructorArguments: [], });
额外排查点
- 确保Hardhat与插件版本兼容,建议升级到两者的最新稳定版。
- 若问题仍存在,尝试删除
node_modules和锁文件(package-lock.json/yarn.lock)后重新安装所有依赖。
内容的提问来源于stack exchange,提问作者Mutahhir Khan
相关产品推荐
相关产品推荐

