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

在Ganache部署合约时遭遇NETWORK_ERROR:无法检测网络求助

Ganache部署合约时出现"could not detect network"错误的解决方法

问题详情

部署合约时遇到如下错误:

Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.7.2)
at Logger.makeError (/mnt/c/Codeeater/node_modules/@ethersproject/logger/src.ts/index.ts:269:28)
at Logger.throwError (/mnt/c/Codeeater/node_modules/@ethersproject/logger/src.ts/index.ts:281:20)
at EthersProviderWrapper.<anonymous> (/mnt/c/Codeeater/node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts:483:23)
at step (/mnt/c/Codeeater/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:48:23)
at Object.throw (/mnt/c/Codeeater/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:29:53)
at rejected (/mnt/c/Codeeater/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:21:65)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
reason: 'could not detect network',
code: 'NETWORK_ERROR',
event: 'noNetwork'
}
error Command failed with exit code 1.

相关配置文件

  1. hardhat.config.js:
require("@nomicfoundation/hardhat-toolbox");

require("dotenv").config();

/** @type import('hardhat/config').HardhatUserConfig */

const Sepolia_url = process.env.Sepolia_url;

const private_key = process.env.private_key;

const Ganache_url = process.env.Ganache_url;

const Ganache_private_key = process.env.Ganache_private_key;

module.exports = {
  solidity: "0.8.17",
  networks: {
    sepolia: {       
      url: Sepolia_url,
      accounts: [private_key],  
    },
    Ganache: {
      url: Ganache_url,
      accounts: [Ganache_private_key],  
    },
  },
};
  1. .env:
Ganache_url = "HTTP://127.0.0.1:7545"
Ganache_private_key = "075d807fa06bcbb594c268c2f07a52cd4c9fe7d4f23b1e5e974a34cf6ba5c210"

执行命令:

yarn hardhat run --network Ganache scripts/major_project.js

解决步骤

  • 确认Ganache服务状态:打开Ganache客户端,确保本地节点正在运行,端口号与Ganache_url中的7545完全一致。节点未启动是触发该错误的最常见原因。
  • 修正URL大小写:将.env中的HTTP://127.0.0.1:7545改为小写http://127.0.0.1:7545,部分环境对URL协议头的大小写敏感。
  • 检查网络连接限制:确认本地防火墙未阻止127.0.0.1:7545的连接,当前环境也没有启用代理导致Hardhat无法访问本地节点。
  • 重新加载环境变量:重启终端后再执行部署命令,避免.env文件的修改未生效。
  • 测试节点可达性:执行以下curl命令验证Ganache节点是否正常响应:
    curl http://127.0.0.1:7545 -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
    
    若返回类似{"jsonrpc":"2.0","id":1,"result":"0x0"}的结果,说明节点正常;若连接失败,需排查Ganache启动状态或端口占用情况。

内容的提问来源于stack exchange,提问作者Thamesh chandravanshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:55:37