Hardhat 编译错误“期望 HttpNetworkConfig 类型的值”
Posted
技术标签:
【中文标题】Hardhat 编译错误“期望 HttpNetworkConfig 类型的值”【英文标题】:Hardhat compile error "Expected a value of type HttpNetworkConfig" 【发布时间】:2021-11-17 22:36:35 【问题描述】:我正在尝试学习 NFT 教程 here。我已经在 Alchemy 上设置了帐户,Metamask 创建了 .sol 文件。我在根目录中有一个 .env 文件,如下所示:
API_URL = "https://eth-ropsten.alchemyapi.io/v2/your-api-key"
PRIVATE_KEY = "your-metamask-private-key"
我的安全帽配置文件如下所示:
/**
* @type import('hardhat/config').HardhatUserConfig
*/
require('dotenv').config();
require("@nomiclabs/hardhat-ethers");
const API_URL, PRIVATE_KEY = process.env;
module.exports =
solidity:
compilers: [
version: "0.5.7"
,
version: "0.8.0"
,
version: "0.6.12"
]
,
defaultNetwork: "ropsten",
networks:
hardhat: ,
ropsten:
url: API_KEY,
accounts: [`0x$PRIVATE_KEY`]
,
但是,当我尝试编译时,我不断收到此错误:
无效值 "url":"https://eth-ropsten.alchemyapi.io/v2/your-api-key","accounts":["0xyour-metamask-private-key"] 对于 HardhatConfig.networks.ropsten - 需要一个类型的值 HttpNetworkConfig。
我似乎无法弄清楚为什么这不是 HttpNetworkConfig 的有效值。我所拥有的 url 是一个字符串,而 accounts 是一个数组似乎符合 documentation for network configs 中的内容。这是一个编译错误,所以看起来它不是实际的 url 或私钥的问题,但也许我错了。我心甘情愿地承认自己是一个菜鸟,对安全帽、solidity 甚至 js 等只有粗略的了解。任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:原来,问题出在我的私钥上。仔细检查。
【讨论】:
【参考方案2】:您可能在localhost:8545
工作。
我认为问题在于资产的价值,并且在您的上下文中使用的一些帐户存在于mainnet
上。
要解决这个问题,你需要hardfork
mainnet
到你的本地。
请查看本指南。 https://hardhat.org/hardhat-network/guides/mainnet-forking.html
【讨论】:
以上是关于Hardhat 编译错误“期望 HttpNetworkConfig 类型的值”的主要内容,如果未能解决你的问题,请参考以下文章
错误 HH12:尝试使用不支持的非本地安装的 Hardhat。请使用 npm 或 Yarn 在本地安装 Hardhat,然后重试
在 Moralis 分叉测试网上运行 npx hardhat test --network local 或 npx hardhat test --network kovan 时出现未经授权的错误