在以太坊私有链的开发、测试或企业级部署过程中,我们经常会遇到需要为特定账户“凭空”增加 ETH 余额的场景,与公链必须通过挖矿或转账获得代币不同,私链赋予了开发者对网络完全的控制权。

本文将详细介绍三种在以太坊私链中为账户充值余额的常用方法,帮助你高效地进行开发和测试。

修改 Genesis 文件(预分配资金)

这是最原始也是最推荐的方法,适用于在私链启动之前就确定好初始资金分配的情况。

在创世区块配置文件(通常是 genesis.json)中,你可以通过 alloc 字段直接为指定地址预分配 ETH。

操作步骤:

  1. 打开你的 genesis.json 文件。
  2. 找到 alloc 对象。
  3. 添加目标账户地址和余额(注意:单位是 Wei,1 ETH = 10^18 Wei)。
{
  "config": { ... },
  "difficulty": "200",
  "gasLimit": "2100000",
  "alloc": {
    "0xYourTargetAddressHere": {
      "balance": "1000000000000000000000000" 
      // 这里是100万个ETH(后面跟了24个零,即10^24 Wei)
    }
  }
}

注意:如果你使用的是 Geth 客户端,且之前已经初始化过该链,你需要删除原有的链数据目录(如 ~/.ethereum/privatenet)并重新执行 geth init genesis.json 才能生效。

使用 Geth Console 通过矿工账户转账

如果你的私链已经在运行,且开启了挖矿功能(或者你有 Coinbase 账户的私钥),最简单的方法是使用 Geth 控制台直接转账。

前提条件: 私链正在运行,且矿工账户有余额(或者你是矿工,可以立刻挖出新的 ETH)。

操作步骤:

  1. 进入控制台:

    geth attach ipc:/path/to/your/geth.ipc随机配图