ethereum - 建立私有以太坊测试网
问题描述
我正在使用 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 控制台的连接超时。
解决方案
通过在创世文件中定义这些地址,这些地址不会生成为账户,只是预先存入资金。我建议您生成 1-2 个帐户,并将这些帐户地址用作预存地址。
关于这一点:“我已经尝试过运行这个文件,挖矿开始了,但是账户余额没有增加。”
它不会增加,因为没有指定挖矿地址/账户。在您的情况下,启动后miner.start()
,采矿过程被终止,因为没有指定 etherbase/coinbase 帐户。通常 etherbase/coinbase 将分配给第一个帐户。如果您不想创建帐户,则需要分配 etherbase。我假设抛出了这样的东西:
错误:etherbase 缺失:必须明确指定 etherbase 地址
您可以通过以下命令设置地址:
miner.setEtherbase("7b684d27167d208c66584ece7f09d8bc8f86ffff")
总而言之,您有两个选择:
- 创建一个帐户并将其用作您的 etherbase
- 将 etherbase 分配给您的预存地址
通过创建一个帐户,etherbase 将自动分配给该帐户。我希望,我可以帮助你。
推荐阅读
- css - Facebook评论自定义CSS问题
- java - 骑士的最短路径(BFS)
- java - LatLng(N,E) 坐标到立体投影(X,Y)
- linux - 用于折叠/折叠文本的 ANSI 转义序列(可能是分层的)
- node.js - npm run build production 不分发生产
- php - PHP 会话不会启动
- heroku - 使用 Heroku 按钮部署时没有打开应用程序的选项
- android - 如何通过 Java(不是 Xml)的可绘制对象创建一个圆圈?
- node.js - 带有节点的 xml Soap 请求
- react-redux - 我们可以以 redux 形式维护文本输入的对象吗