npx harhat 编译和节点出现版本问题

问题描述 投票:0回答:1

所以我尝试运行这个命令(npxhardhatcompile)并且vscode告诉我

警告:您当前使用的是 Node.js v19.8.1,Hardhat 不支持该版本。这可能会导致意外的行为。请参阅https://hardhat.org/nodejs-versions .Error HH8:您的配置文件中存在一个或多个错误:

  • 无效帐户:网络:孟买的#0 - 私钥太短,预计为 32 字节

要了解有关 Hardhat 配置的更多信息,请访问 https://hardhat.org/config/

有关更多信息,请访问 https://hardhat.org/HH8 或使用 --show-stack-traces 运行 Hardhat

当我查看该网址时,我了解到今年的hardhat正在使用node.js 21,因此我尝试了(nvm-windows、npm install -g nodist、nvm install 21),但仍然收到类似警告(nvm:Le)术语“nvm”不是 reconnu comme nom d'applet de commande, 函数,脚本或可执行程序的文件。验证 L'orthographe du nom, ou si un chemin d'accès Existe, verifiez que le
chemin d'accès est Correct et réessayez。) 知道我应该做什么

node.js compiler-errors solidity hardhat nft
1个回答
0
投票

您收到的警告和错误消息表明两个不同的问题:

  1. Node.js 版本警告:

    • 您使用的是 Node.js 版本 19.8.1,Hardhat 不支持该版本。要解决此问题,您应该切换到 Hardhat 支持的 Node.js 版本。您可以在 Hardhat 网站或提供的链接中找到支持的版本。
  2. 帐户无效错误:

    • 孟买网络的配置存在问题。帐户 #0 的私钥似乎太短(预计为 32 字节)。确保您提供正确的私钥并且其长度正确。

解决这些问题:

Node.js 版本:

  • 安装受支持的 Node.js 版本 18.x

无效帐户:

  • 检查您的 Hardhat 配置文件(通常名为
    hardhat.config.js
    hardhat.config.ts
    )并找到孟买网络的配置。
  • 确保为账户 #0 提供的私钥是有效的以太坊私钥并且具有正确的长度。
  • 您可能需要使用以下示例之一将私钥更新为有效的私钥:(取决于您使用的配置)

示例 1:使用有效的私钥

  • 您想要通过为孟买网络提供有效的私钥来修复无效帐户错误。

  • 使用新私钥更新您的 Hardhat 配置文件(

    hardhat.config.js
    hardhat.config.ts
    ):

    module.exports = {
       networks: {
         mumbai: {
           url: 'https://rpc-mumbai.maticvigil.com',
           accounts: [yourValidPrivateKey],
         },
       },
       // other configuration options...
    };
    

示例 2:使用环境变量

  • 您希望保持私钥安全且灵活,因此您决定对私钥使用环境变量。通过创建一个
    .env
    文件并像这样设置你的私钥
    MUMBAI_PRIVATE_KEY="yourPrivateKeyHere"
    或者你这样做⬇️:
  1. 为您的私钥设置环境变量。打开终端并运行:

     export MUMBAI_PRIVATE_KEY="yourPrivateKeyHere"
    

    或者,您可以使用像

    dotenv
    这样的工具来管理环境变量。

  2. 更新您的 Hardhat 配置文件以从环境变量中读取私钥:

    require('dotenv').config();
    
    module.exports = {
      networks: {
        mumbai: {
          url: 'https://rpc-mumbai.maticvigil.com',
          accounts: [process.env.MUMBAI_PRIVATE_KEY],
        },
      },
      // other configuration options...
    };
    

进行这些更改后,尝试再次运行

npx hardhat compile
。如果您遇到其他问题,请仔细检查您的 Hardhat 配置并进行必要的调整。

© www.soinside.com 2019 - 2024. All rights reserved.