使用Hardhat部署合约遇HH100错误:Goerli网络不存在求助
解决Hardhat部署Goerli网络时的HH100错误
执行命令 yarn hardhat deploy --network goerli 部署智能合约时,出现错误:
HH100: Network goerli doesn't exist
确认.env文件格式无误,原hardhat.config配置代码如下:
require("@nomicfoundation/hardhat-toolbox") require("dotenv").config() require("hardhat-deploy") /** @type import('hardhat/config').HardhatUserConfig */ const GOERLI_RPC_URL = process.env.GOERLI_RPC_URL const PRIVATE_KEY = process.env.PRIVATE_KEY const COINMARKETCAP_API_KEY = process.env.COINMARKETCAP_API_KEY const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY module.exports = { solidity: { compilers: [{ version: "0.8.8" }, { version: "0.6.6" }] }, defaultNetwork: "hardhat", namedAccounts: { deployer: { default: 0 //here this will by default take the first account as deployer } }, network: { goerli: { url: GOERLI_RPC_URL, accounts: [PRIVATE_KEY], chainId: 5, blockConfirmation: 6 } } }
问题原因
核心错误是网络配置字段名拼写错误:Hardhat要求网络配置必须放在networks(复数)字段下,但你写的是network(单数)。Hardhat无法识别这个字段,因此找不到定义的goerli网络。
另外还有一个非当前错误的小问题:blockConfirmation应该改为blockConfirmations(复数),否则后续部署时的区块确认数设置不会生效。
修复后的配置代码
require("@nomicfoundation/hardhat-toolbox") require("dotenv").config() require("hardhat-deploy") /** @type import('hardhat/config').HardhatUserConfig */ const GOERLI_RPC_URL = process.env.GOERLI_RPC_URL const PRIVATE_KEY = process.env.PRIVATE_KEY const COINMARKETCAP_API_KEY = process.env.COINMARKETCAP_API_KEY const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY module.exports = { solidity: { compilers: [{ version: "0.8.8" }, { version: "0.6.6" }] }, defaultNetwork: "hardhat", namedAccounts: { deployer: { default: 0 //here this will by default take the first account as deployer } }, networks: { goerli: { url: GOERLI_RPC_URL, accounts: [PRIVATE_KEY], chainId: 5, blockConfirmations: 6 } } }
内容的提问来源于stack exchange,提问作者bzpassersby
相关产品推荐
相关产品推荐

