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

Hardhat部署合约至Sepolia测试网遇URL协议错误,求解决方案

解决Hardhat部署Sepolia测试网时的"Invalid URL protocol"错误

问题背景

执行部署命令:npx hardhat run scripts/deploy.js --network sepolia
触发错误提示:Invalid URL protocol: the URL must start with http: or https:
尽管hardhat.config.js中配置的Sepolia网络URL是合法的HTTPS地址,但实际调用的却是socks5://192.168.64.1:10808。

原因

Hardhat默认会读取系统的HTTP_PROXY/HTTPS_PROXY环境变量,如果这些变量设置的是socks5协议的代理,就会覆盖配置文件中的URL协议,导致协议不兼容报错。

解决方案

1. 临时禁用代理(单次部署生效)

执行部署命令前,临时清除终端的代理环境变量:

  • Linux/macOS:
    unset HTTP_PROXY HTTPS_PROXY && npx hardhat run scripts/deploy.js --network sepolia
    
  • Windows 命令提示符:
    set HTTP_PROXY= && set HTTPS_PROXY= && npx hardhat run scripts/deploy.js --network sepolia
    
  • Windows PowerShell:
    $env:HTTP_PROXY = $null; $env:HTTPS_PROXY = $null; npx hardhat run scripts/deploy.js --network sepolia
    

2. 调整全局代理设置

如果不需要全局代理,直接移除系统或终端中的HTTP_PROXY和HTTPS_PROXY配置;如果必须使用代理,确保代理地址是HTTP/HTTPS协议(而非socks5)。

3. 让Hardhat忽略代理(针对特定网络)

在hardhat.config.js的Sepolia网络配置中添加skipFetchSetup: true,强制Hardhat不使用代理,直接连接配置的URL:

module.exports = {
  defaultNetwork: "hardhat",
  solidity: "0.8.24",
  networks: {
    sepolia: {
      url: "https://eth-sepolia.g.alchemy.com/v2/y4r3BgNFU-zhHGd8BWs-OhCMRR7ghpA2",
      accounts: [PRIVATE_KEY],
      chainId: 11155111,
      skipFetchSetup: true // 新增该行
    },
  }
};

内容的提问来源于stack exchange,提问作者bo wang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:02:42