You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hardhat连接超时:执行JSON-RPC服务器时出现HH604错误

解决Hardhat分叉网络时出现的HH604连接超时错误

核心问题排查与解决步骤

1. 修复不完整的RPC URL

你执行npx hardhat node --fork https://eth-mainnet.g.alchemy.com/v2/时使用的RPC URL是不完整的——Alchemy的RPC地址必须附带个人API密钥,正确格式应为https://eth-mainnet.g.alchemy.com/v2/你的API_KEY。缺失密钥会直接导致连接失败超时。

同时检查GOERLI_RPC_URL环境变量中的地址,确保它是完整、有效的RPC端点(包含API密钥),可以用curl命令验证连通性:

curl -X POST <你的RPC_URL> -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

如果返回正常的区块号,说明URL有效;若超时或报错,需更换可用的RPC节点。

2. 处理网络连接限制

  • 若本地网络无法直接访问Alchemy/Infura等境外RPC服务,需调整网络环境,或更换国内可访问的以太坊RPC节点。
  • 延长Hardhat分叉的超时时间,避免因区块数据下载慢导致超时:
    hardhat:{
        loggingEnabled: false,
        forking: {
            url: process.env.GOERLI_RPC_URL,
            timeout: 120000 // 延长至120秒
        }
    }
    

3. 确保环境变量正确加载

Hardhat不会自动加载.env文件,需手动配置:

  1. 安装dotenv依赖:npm install dotenv --save-dev
  2. 在hardhat.config.js顶部添加:
    require('dotenv').config();
    
  3. 可以临时添加日志确认变量是否加载:
    console.log("GOERLI RPC URL:", process.env.GOERLI_RPC_URL);
    
    运行测试时若输出为空,说明环境变量未正确读取,需检查.env文件路径和变量名是否正确。

4. 检查本地资源与端口

  • 分叉模式需要同步大量链上数据,确保本地有足够的内存和磁盘空间。
  • 确认Hardhat节点默认端口(8545)未被其他服务占用,若被占用可指定端口启动:
    npx hardhat node --fork <完整RPC_URL> --port 8546
    

内容的提问来源于stack exchange,提问作者Doskhan Muafik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:37:11