如何使用 Hardhat 将以太币添加到我的本地主机 Metamask 钱包?

How do I add ether to my localhost Metamask wallet with Hardhat?

我已经 connected metamask to a node 使用安全帽创建了。在设置链 ID 以匹配 hardhat 网络链 ID (31337)

后,我可以在元掩码中连接到 http://localhost:8545 网络上的这个节点

如何将以太币发送到本地主机网络上的 accounts/addresses,以便这些帐户有足够的以太币来部署合约?

您并没有完全将以太币添加到您的本地安全帽钱包中,因为没有可以将以太币发送到您的帐户的本地主机水龙头。您可以做的是通过以下步骤连接到 Hardhat 自动创建的预注资帐户:

  1. 运行 Hardhat Network 以独立的方式使用 npx hardhat node --show-accounts 将 Hardhat 自动创建的预注资帐户打印到 std.out,以及他们对应的私钥。

  2. 在 metamask 中,在设置链 ID 以匹配 hardhat 网络链 ID (31337) 后连接到 http://localhost:8545 网络上的此节点。

  3. 在 metamask 中,select“导入帐户”选项并从本地 hardhat 节点粘贴其中一个帐户的私钥 - 将 metamask 连接到该帐户,以便查看账户余额等

  4. 在您的 hardhat 配置文件中,将一个或多个预注资帐户的私钥包含到您本地主机网络的帐户 属性 中。即

    localhost: {
      chainId: 31337, // Chain ID should match the hardhat network's chainid
      accounts: [`${PRE_FUNDED_PRIVATE_KEY_1}`, `${PRE_FUNDED_PRIVATE_KEY_2}`, `${OTHER_PRIVATE_KEY}`],
    }

然后您可以在部署脚本中访问这些帐户。例如,将合约从 ${PRE_FUNDED_PRIVATE_KEY_1} 发送到 ${OTHER_PRIVATE_KEY}

您也可以像这样使用您自己的开发帐户。 (小心你的私钥)

https://hardhat.org/hardhat-network/reference/#accounts

networks: {
  hardhat: {
    accounts: [
      {
        privateKey: 'your-dev-account-private-key',
        balance: '10000000000000000000000'
      }
    ];
  }
}