2

我正在尝试用以太坊创建一个私有区块链(只有一个节点)。我遵循了本教程:https ://media.consensys.net/how-to-build-a-private-ethereum-blockchain-fbf3904f337

最后我触发了以下命令:

go-ethereum/build/bin/geth --mine --nodiscover --maxpeers 0 --networkid 13 --rpc --rpccorsdomain "*"

我的 geth 进程挂在以下步骤(生成 DAG 之后):

INFO [09-25|22:04:29] Generating DAG in progress               epoch=1 percentage=98 elapsed=5m2.991s
INFO [09-25|22:04:33] Generating DAG in progress               epoch=1 percentage=99 elapsed=5m6.578s
INFO [09-25|22:04:33] Generated ethash verification cache      epoch=1 elapsed=5m6.582s

我期待看到教程中提到的一些区块正在挖掘。谁能告诉我可能出了什么问题?有什么办法可以解决吗?

4

3 回答 3

2

我已经诊断出的一个问题是创世文件没有在我的专用网络上正确生成,因此默认为默认创世块。

运行以下命令查看创世块

eth.getBlock(0)

如果该块看起来与下面的相同,则您的自定义创世块尚未成功创建。

{
difficulty: 17179869184,
extraData: "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
gasLimit: 5000,
gasUsed: 0,
hash: "0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3",
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
miner: "0x0000000000000000000000000000000000000000",
mixHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
nonce: "0x0000000000000042",
number: 0,
parentHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
receiptsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
size: 540,
stateRoot: "0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544",
timestamp: 0,
totalDifficulty: 17179869184,
transactions: [],
transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
uncles: []
}

删除您的数据目录并重新初始化

geth --datadir=./eth/data init genesis.json

一些有用的命令可以帮助人们进一步调试

debug.verbosity(6)-- 启用详细的错误消息

miner.start(1)-- 总是用这个代替miner.start()

eth.syncing-- 该节点是否与网络上的任何其他节点同步?(并不总是可靠的)

参考 https://github.com/ethereum/go-ethereum/issues/15087

于 2019-04-02T13:30:06.343 回答
2

我遇到了同样的问题,我所做的只是重复使用miner.start()了几次,它会显示

 Updated mining threads                   threads=1

几次尝试后开始挖矿并且账户收到了资金

于 2018-11-26T15:48:18.887 回答
1

您是否设置了您的 Etherbase(即默认的主要本地帐户)。矿工需要一个地方来存储开采的以太币。

于 2017-09-26T15:15:31.420 回答