首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入API_URL和私钥时出现Hardhat编译错误

导入API_URL和私钥时出现Hardhat编译错误
EN

Stack Overflow用户
提问于 2021-10-11 11:39:30
回答 1查看 1.7K关注 0票数 1

为了遵循一个基本的NFT tutorial,我不得不说,我在编程方面是一个新手。我面临的问题是,我的hardhat.config.js文件需要一个API_KEY和一个私钥,它应该从process.env文件中导入:

代码语言:javascript
复制
API_URL = "https://ethropsten.alchemyapi.io/v2/UkW3oySI7WxvFwDwopQHPOHajHaWFZFv"
PRIVATE_KEY = "8d33c2613cb63d0dc6305e57..."

硬配置文件如下所示:

代码语言:javascript
复制
* @type import('hardhat/config').HardhatUserConfig
*/
require('dotenv').config();
require("@nomiclabs/hardhat-ethers");
const { API_URL, PRIVATE_KEY } = process.env;
module.exports = {
  solidity: "0.8.0",
  defaultNetwork: "ropsten",
  networks: {
    hardhat: {},
    ropsten: {
      url: API_URL,
      accounts: [`0x${PRIVATE_KEY}`]
    }
  },
} 

但是每当我试图编译它并通过我的deploy.js文件运行它时,我得到一个错误消息,基本上告诉我,导入是不可能的,看起来是这样的:

代码语言:javascript
复制
  * Invalid value undefined for HardhatConfig.networks.ropsten.url - Expected a value of type string.
  * Invalid value {"accounts":["0xundefined"]} for HardhatConfig.networks.ropsten - Expected a value of type HttpNetworkConfig.
  
To learn more about Hardhat's configuration, please go to https://hardhat.org/config/

For more info go to https://hardhat.org/HH8 or run Hardhat with --show-stack-traces
simon@MacBook-Pro-von-Simon test_fractals % npx hardhat run scripts/deploy.js --network ropsten
An unexpected error occurred:

simon@MacBook-Pro-von-Simon test_fractals % npx hardhat run scripts/deploy.js --network ropsten
An unexpected error occurred:

simon@MacBook-Pro-von-Simon test_fractals % npx hardhat run scripts/deploy.js --network ropsten
An unexpected error occurred:

ReferenceError: API_KEY is not defined
    at Object.<anonymous> (/Users/simon/test_fractals/hardhat.config.js:37:12)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at importCsjOrEsModule (/Users/simon/test_fractals/node_modules/hardhat/src/internal/core/config/config-loading.ts:23:20)
    at Object.loadConfigAndTasks (/Users/simon/test_fractals/node_modules/hardhat/src/internal/core/config/config-loading.ts:66:18)
    at main (/Users/simon/test_fractals/node_modules/hardhat/src/internal/cli/cli.ts:129:20)
simon@MacBook-Pro-von-Simon test_fractals % npx hardhat run scripts/deploy.js --network ropsten
An unexpected error occurred:

ReferenceError: API_KEY is not defined
    at Object.<anonymous> (/Users/simon/test_fractals/hardhat.config.js:37:12)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at importCsjOrEsModule (/Users/simon/test_fractals/node_modules/hardhat/src/internal/core/config/config-loading.ts:23:20)
    at Object.loadConfigAndTasks (/Users/simon/test_fractals/node_modules/hardhat/src/internal/core/config/config-loading.ts:66:1 

我首先想到的是,我的.env文件不在正确的位置,或者语法不正确,但是在尝试了所有我能想到的东西之后,我仍然得到相同的错误消息。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2021-11-19 16:19:06

我在hardhat.config.js文件中使用下面的代码解决了同样的问题:

代码语言:javascript
复制
require('dotenv').config({path:__dirname+'/.env'})

而不是:

代码语言:javascript
复制
require('dotenv').config()

欲了解更多信息,请访问dotenv file is not loading environment variables

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69525606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档