如何通过CLI启用或禁用Hardhat网络分叉功能?
如何通过CLI控制Hardhat主网分叉功能的启用与禁用?
你当前的Hardhat配置中,hardhat网络默认启用了以太坊主网分叉:
networks: { hardhat: { forking: { url: `https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}`, blockNumber: 14390000 } } }
执行npx hardhat test时会默认进入分叉环境,完全可以通过CLI控制分叉的开启和关闭,推荐两种实用方案:
方案1:环境变量动态切换
修改hardhat.config.js,让forking配置依赖环境变量:
require("@nomicfoundation/hardhat-toolbox"); const ALCHEMY_API_KEY = process.env.ALCHEMY_API_KEY; module.exports = { networks: { hardhat: { forking: process.env.USE_FORK ? { url: `https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}`, blockNumber: 14390000 } : undefined } } };
之后通过命令行控制:
- 启用分叉:
USE_FORK=true npx hardhat test - 禁用分叉:直接执行
npx hardhat test即可
方案2:使用内置--no-fork参数
Hardhat原生支持--no-fork参数,无需修改配置文件就能临时禁用分叉:
- 启用分叉(默认行为):
npx hardhat test - 禁用分叉:
npx hardhat test --no-fork
内容的提问来源于stack exchange,提问作者Louis Law
相关产品推荐
相关产品推荐

