如何使用 Hardhat 将以太币添加到我的 localhost Metamask 钱包?

Posted

技术标签:

【中文标题】如何使用 Hardhat 将以太币添加到我的 localhost Metamask 钱包?【英文标题】:How do I add ether to my localhost Metamask wallet with Hardhat? 【发布时间】:2021-10-19 04:03:26 【问题描述】:

我用安全帽创建了connected metamask to a node。在将链 id 设置为与安全帽网络链 id (31337) 匹配后,我可以在元掩码中连接到 http://localhost:8545 网络上的此节点

如何将以太币发送到 localhost 网络上的账户/地址,以便这些账户有足够的以太币来部署合约?

【问题讨论】:

【参考方案1】:

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

    使用 npx hardhat node --show-accounts 以独立方式运行 Hardhat 网络,以将 Hardhat 自动创建的预充值帐户及其对应的私钥打印到 std.out

    在元掩码中,将链 id 设置为与安全帽网络链 id (31337) 匹配后,连接到 http://localhost:8545 网络上的此节点。

    在 metamask 中,选择“导入帐户”选项并从本地安全帽节点粘贴其中一个帐户的私钥 - 将 metamask 连接到该帐户以查看帐户余额等。

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

    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

【讨论】:

以上是关于如何使用 Hardhat 将以太币添加到我的 localhost Metamask 钱包?的主要内容,如果未能解决你的问题,请参考以下文章

Web3与智能合约:开发一个简单的DApp并部署到以太坊测试网(Solidity+Hardhat+React)① 环境搭建

以太坊:如何将 ETH 交易自动拆分为 2 个其他交易

使用hardhat 开发以太坊智能合约-发布合约

自动将收到的以太币从一个地址转移到另一个地址

如何将所有存款以太币合并到一个钱包地址?

如何使用solidity和web3将以太币存入账户?