首页 > 解决方案 > 建立私有以太坊测试网

问题描述

我正在使用 geth 建立一个私人以太坊测试网。这是创世文件。我的问题是当我使用personal.newAccount() 命令创建新帐户时,我必须用新地址替换这些地址吗?并再次初始化json文件?

我已经尝试运行此文件并开始挖矿,但账户余额没有增加。

{
   "config": {
      "chainId": 1994,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "difficulty": "400",
   "gasLimit": "2000000",
   "alloc": {
      "7b684d27167d208c66584ece7f09d8bc8f86ffff": { 
          "balance": "100000000000000000000000" 
      },
      "ae13d41d66af28380c7af6d825ab557eb271ffff": { 
          "balance": "120000000000000000000000" 
      }
   }
}

挖矿线程被杀死,来自 geth java 控制台的连接超时。

标签: ethereumgeth

解决方案


通过在创世文件中定义这些地址,这些地址不会生成为账户,只是预先存入资金。我建议您生成 1-2 个帐户,并将这些帐户地址用作预存地址。

关于这一点:“我已经尝试过运行这个文件,挖矿开始了,但是账户余额没有增加。”

它不会增加,因为没有指定挖矿地址/账户。在您的情况下,启动后miner.start(),采矿过程被终止,因为没有指定 etherbase/coinbase 帐户。通常 etherbase/coinbase 将分配给第一个帐户。如果您不想创建帐户,则需要分配 etherbase。我假设抛出了这样的东西:

错误:etherbase 缺失:必须明确指定 etherbase 地址

您可以通过以下命令设置地址: miner.setEtherbase("7b684d27167d208c66584ece7f09d8bc8f86ffff")

总而言之,您有两个选择:

  • 创建一个帐户并将其用作您的 etherbase
  • 将 etherbase 分配给您的预存地址

通过创建一个帐户,etherbase 将自动分配给该帐户。我希望,我可以帮助你。


推荐阅读