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

如何正确给Hardhat脚本传递--network参数?Goerli部署异常排查

问题:Hardhat部署时忽略--network参数,始终连接本地节点

尝试将合约部署至Goerli测试网,执行命令npx hardhat run scripts/deploy.ts --network goerli后,脚本仍连接本地节点(RPC显示http://localhost:8545),报错“could not detect network”。部署地址是私钥对应的正确地址,但RPC URL错误,始终连接本地节点。

配置与代码详情

hardhat.config.ts

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import "hardhat-gas-reporter"
import "@nomiclabs/hardhat-ethers";
import * as dotenv from 'dotenv'
dotenv.config();

const env:any = process.env;

const config: HardhatUserConfig = {
    solidity: {
        [...]
    },
    networks: {
        hardhat: {
            [...]
        },
        goerli: {
            url: 'https://goerli.infura.io/v3/',
            accounts: [env['DEPLOYER_PRIVATE_KEY']]
        },
    },
    [...]
};

export default config;

deploy.ts

async function main() {
    const [deployer] = await ethers.getSigners();
    console.log('Using RPC ', ethers.provider.connection.url);
    console.log('Deploying from address', deployer.address);
    [...] // contract deployment code
}
解决方案

1. 补全Infura RPC URL的项目ID

你的Goerli网络配置中url字段仅包含Infura基础地址,缺少项目ID。Infura要求请求必须携带项目ID,无项目ID的请求会被拒绝,Hardhat会自动 fallback 到本地节点。

修改hardhat.config.ts中的Goerli配置:

goerli: {
    url: `https://goerli.infura.io/v3/${env.INFURA_PROJECT_ID}`, // 替换为你的Infura项目ID
    accounts: [env['DEPLOYER_PRIVATE_KEY']]
},

确保.env文件中已配置INFURA_PROJECT_ID变量。

2. 验证Hardhat网络配置加载

运行以下命令检查网络配置是否被正确识别:

npx hardhat networks

若输出中Goerli网络的URL仍不正确,检查hardhat.config.ts中省略部分([...])是否存在语法错误(比如Solidity版本配置格式错误、多余逗号等)。

3. 清除Hardhat缓存

缓存可能导致配置不生效,执行命令清除缓存:

npx hardhat clean

之后重新运行部署脚本。

4. 检查依赖兼容性

确保@nomicfoundation/hardhat-toolbox与@nomiclabs/hardhat-ethers版本兼容,避免依赖冲突导致网络配置失效。可尝试更新依赖:

npm update @nomicfoundation/hardhat-toolbox @nomiclabs/hardhat-ethers

内容的提问来源于stack exchange,提问作者Can Poyrazoğlu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:05:52