执行yarn hardhat node分叉主网时遇HH604及NODE_OPTIONS错误
解决Hardhat分叉Arbitrum主网时的两个错误问题
一、解决Error HH604: Error running JSON-RPC server: Unknown transaction type 106
- 问题原因:Arbitrum主网存在Hardhat旧版本不支持的自定义交易类型(如类型106的Retryable Ticket交易),分叉时无法解析这类交易导致报错。
- 解决步骤:
- 升级Hardhat及相关插件到最新版本:
yarn upgrade hardhat @nomiclabs/hardhat-ethers --latest - 验证版本:执行以下命令确认Hardhat版本在2.12.0及以上(该版本开始兼容Arbitrum自定义交易类型):
npx hardhat --version - 重新运行分叉命令:
yarn hardhat node
- 升级Hardhat及相关插件到最新版本:
二、解决--openssl-legacy-provider is not allowed in NODE_OPTIONS
- 问题原因:该参数仅适用于Node.js v17+版本,用于兼容旧版OpenSSL算法;在Node v16及以下版本中不被支持,且升级Hardhat后已无需此参数。
- 解决步骤:
- 修改
package.json,移除启动脚本中的--openssl-legacy-provider参数,恢复为正常的Hardhat启动命令,例如:"scripts": { "start": "hardhat node" } - 清理环境变量中的无效配置:
- 终端临时清理:
unset NODE_OPTIONS - 永久清理:根据操作系统修改对应的环境变量配置文件(如
~/.bashrc、~/.zshrc或Windows系统环境变量设置),删除包含--openssl-legacy-provider的配置行。
- 终端临时清理:
- 重新执行启动命令:
yarn start
- 修改
内容的提问来源于stack exchange,提问作者Sergen
相关产品推荐
相关产品推荐

