我正在尝试使用以太坊创建一个私有区块链(仅限一个节点)。我遵循了本教程: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
我希望看到教程中提到的一些块正在挖掘。谁能告诉我什么可能出错?有什么方法可以解决它吗?
答案 0 :(得分:2)
我遇到了同样的问题,我做过的所有事情都被miner.start()
重复使用了几次,它将显示
Updated mining threads threads=1
在尝试了几次挖掘之后,该帐户收到了资金
答案 1 :(得分:1)
您是否设置了Etherbase(即默认的主本地帐户)。矿工需要一个存放开采的以太的地方。
答案 2 :(得分:1)
我确实诊断出的一个问题是,创世纪文件没有在我的专用网络上正确生成,因此默认为默认创世块。
运行以下命令以查看起源块
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
-此节点是否与网络上的任何其他节点同步? (并不总是可靠的)