Linux环境配置Hardhat运行npx hardhat node报HH604错误如何解决?
错误原因
该报错由Node.js版本兼容问题导致:Node.js v17及以上版本默认使用OpenSSL 3.0,该版本禁用了MD4等旧版加密算法,而Hardhat底层依赖仍在调用已废弃的旧版加密算法,运行时就会触发该错误。
解决方法
方法1:单次运行临时指定OpenSSL兼容模式
执行启动命令前先设置对应环境变量即可:
- Linux/macOS终端执行:
export NODE_OPTIONS=--openssl-legacy-provider npx hardhat node
- Windows Powershell执行:
$env:NODE_OPTIONS="--openssl-legacy-provider" npx hardhat node
方法2:修改项目脚本永久生效
打开项目根目录的package.json文件,在scripts字段中新增带环境变量的启动命令:
{ "scripts": { "hardhat-node": "NODE_OPTIONS=--openssl-legacy-provider npx hardhat node" } }
后续直接执行npm run hardhat-node即可正常启动节点。
方法3:降级Node.js版本(仅当上述方案无效时使用)
将本地Node.js版本降级到v16.x LTS版本,该版本默认使用旧版OpenSSL,兼容Hardhat的加密算法调用,重新安装依赖后即可正常启动。
内容的提问来源于stack exchange,提问作者enstazao
相关产品推荐
相关产品推荐

