Hardhat部署最新版本:新版变化、新插件与迁移注意事项
Hardhat 的版本迭代很快,每个大版本都会带来工具链上的优化。本文聚焦 Hardhat部署最新版本与上一代的核心差异,帮你理解什么时候需要升级、升级时要注意什么。系统迁移流程见 Hardhat部署迁移指南。
一、版本演进的主线
Hardhat 的迭代主线包括:
- 与 ethers v6 的兼容性
- 对 EIP-1559、EIP-4844 的支持
- 多链 RPC 配置的简化
- TypeScript 类型生成与 abitype 的集成
- 与 Foundry 工具链的互操作
这些演进直接决定了部署脚本可以写得多简洁、多类型安全。
二、ethers v6 适配
最新版的 Hardhat 默认 bundle ethers v6:
getContractFactory与deployContract的 API 略有变化BigNumber被 BigInt 替换- Provider 与 Signer 的关系更明确
- Tx receipt 类型字段调整
如果你的脚本还停留在 v5 风格,建议趁此机会一并升级,避免新旧 API 混用产生类型噪声。配合 Hardhat最新版本 通用教程一起阅读效果最好。
三、配置兼容性变化
hardhat.config.ts 中的几处调整:
solidity字段建议显式写evmVersion,避免不同链 EVM 行为差异networks.*.gas默认走 estimate,需要显式上限etherscan.customChains字段语法稳定下来,可放心写多链 Verify 配置- 新增
mocha.parallel字段加速测试
四、新插件与生态
最新生态中值得关注:
@nomicfoundation/hardhat-toolbox整合大多数常用插件hardhat-deploy提供基于 tag 的部署流程hardhat-ignition是官方推荐的新一代部署框架hardhat-chai-matchers提供链上断言的链式语法
其中 hardhat-ignition 是最值得关注的工具,它把部署变成声明式工作流,是 Hardhat部署进阶教程 中重点介绍的方向。
五、EIP-1559 与多链支持
最新版本默认根据 chainId 选交易类型:
- 以太坊主网、Arbitrum、Base、Polygon 等走 EIP-1559
- 币安智能链等仍以 legacy 为主,需要在脚本中显式指定
type: 0 - 新增对 EIP-4844 blob transaction 的支持(Cancun 升级后)
这种自动化让多链部署脚本可以共享同一个模板,配合 Hardhat部署最佳实践 推荐的网络中心化配置,能进一步降低维护成本。
六、TypeScript 与类型生成
最新版本对 TS 的支持更强:
- 内置 ABI → TS 类型的推断
- 配合 abitype 实现合约方法的完整 IntelliSense
- 编译期能拦下大量字段名拼写错误
这一点对于团队规模较大的项目极有价值,省去 code review 时反复指出低级错误的成本。
七、迁移建议
从旧版本升级到最新版本的推荐路径:
- 先升级 Hardhat 主包,保持脚本语法不变
- 再切换 ethers 到 v6,逐个文件适配
- 引入 hardhat-toolbox 替换零散插件
- 评估是否切换到 hardhat-ignition
- 跑一遍端到端用例,对比 Gas 与 Verify 结果
按这个顺序升级,每一步都能独立回滚,把风险压到最低。
八、币安智能链相关更新
BNB Chain 部署的注意事项:
- BNB Chain 上 Cancun 兼容性需确认节点版本
- bscscan API 已稳定支持最新 Hardhat
- 中文社区翻译的 Hardhat部署中文文档 会同步介绍版本差异
保持工具链最新,是工程化的基础投资。每次大版本发布后留一周时间做适配,长期能省下大量维护时间。