3

我正在尝试按照此处的 NFT 教程进行操作。我已经在 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}`]

      }

   },

}

但是,当我尝试编译时,我不断收到此错误:

HardhatConfig.networks 的无效值 {"url":"https://eth-ropsten.alchemyapi.io/v2/your-api-key","accounts":["0xyour-metamask-private-key"]}。 ropsten - 需要一个 HttpNetworkConfig 类型的值。

我似乎无法弄清楚为什么这不是 HttpNetworkConfig 的有效值。我所拥有的 url 是一个字符串,而 accounts 是一个数组似乎符合network configs 文档中的内容。这是一个编译错误,所以看起来它不是实际的 url 或私钥的问题,但也许我错了。我心甘情愿地承认自己是一个菜鸟,对安全帽、坚固性甚至 js 等只有粗略的了解。任何帮助表示赞赏。

4

3 回答 3

0

原来,问题出在我的私钥上。仔细检查。

于 2021-09-30T04:59:06.450 回答
0

您可能在localhost:8545. 我认为问题在于资产的价值,并且在您的上下文中使用的一些帐户存在于mainnet. 要解决这个问题,你需要到hardforkmainnet的本地。

请查看本指南。 https://hardhat.org/hardhat-network/guides/mainnet-forking.html

于 2021-10-07T18:49:21.730 回答
0

我没有设置我privateKeyaccounts元素。

于 2022-03-01T21:08:53.047 回答