用途:Hardhat 是面向 EVM 智能合约的 Solidity 开发框架,覆盖编译、测试、部署与调试全流程,核心是本地 Hardhat Network,支持 console.log、Solidity 堆栈追踪和主网分叉。
主要能力:通过 hardhat-toolbox 元插件集成 ethers v6、Chai 匹配器(断言 revert、事件、余额变化)、network-helpers(loadFixture、time、mine)、TypeChain 类型生成、gas 报告与覆盖率。配置集中在 hardhat.config.ts,可设置多编译器版本、多网络(含 chainId)、etherscan 多链 API Key 与 gasReporter。官方部署系统为 Hardhat Ignition(@nomicfoundation/hardhat-ignition),以声明式模块解析依赖并跟踪部署状态。
使用方式: 新项目:mkdir my-project && cd my-project 后执行 npx hardhat init,选 TypeScript 项目。 依赖:npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox。 常用命令:npx hardhat compile、npx hardhat test、REPORT_GAS=true npx hardhat test、npx hardhat coverage、npx hardhat ignition deploy ignition/modules/Token.ts --network sepolia、npx hardhat ignition verify <deployment-id>、npx hardhat verify --network sepolia 0xADDRESS。
重要事实与限制: 须使用 ethers v6,parseEther 为独立导入而非 ethers.utils.parseEther,不再有 BigNumber;hardhat-deploy 非官方,新项目应用 Ignition;应装 toolbox 而非个别的 @nomiclabs/ 旧插件;compile 默认不生成类型,需 toolbox 或 @typechain/hardhat;TS 配置需 ts-node 与 typescript;getSigners 返回 HardhatEthersSigner;Hardhat Network 状态在测试文件间重置,同一 describe 的 it 间保持,推荐用 loadFixture;分叉与 hardhat_reset 需归档节点 RPC;Solidity 的 console.log 仅 Hardhat Network 有效且导入会增加部署 gas;verify 的构造参数须与部署完全一致。资料未提供收费与价格信息。