geth зависает сразу после генерации DAG

Я пытаюсь создать частный блокчейн с Ethereum (только с одним узлом). Я следовал этому руководству: 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

Я ожидал, что некоторые блоки добываются, как указано в руководстве. Может ли кто-нибудь сказать мне, что может пойти не так? Есть ли способ исправить это?


person user3606212    schedule 26.09.2017    source источник


Ответы (3)


У меня такая же проблема, все, что я делал, было неоднократно использовано miner.start() несколько раз, и это покажет

 Updated mining threads                   threads=1

после нескольких попыток майнинг начался и на счет поступили средства

person Joshua Duxbury    schedule 26.11.2018

Установили ли вы свою Etherbase (т. е. основную локальную учетную запись по умолчанию). Майнеру нужно место для хранения добытого эфира.

person Jake Henningsgaard    schedule 26.09.2017
comment
Здесь такая же проблема. Я установил основную учетную запись на eth.accounts[0], но geth все еще говорит мне, что генерирует dag. - person Mehrad Rafigh; 11.10.2017
comment
Вы создали учетную запись? Никакие учетные записи не создаются автоматически. - person Jake Henningsgaard; 11.10.2017
comment
Привет Джейк! Спасибо за ответ. Я создал новую учетную запись и разблокировал ее. Я думаю, что перепробовал кучу вариантов, но все равно не повезло. В качестве отказа от ответственности я запускаю geth в контейнере Docker. - person Mehrad Rafigh; 11.10.2017

Одна проблема, которую я обнаружил, заключалась в том, что файл генезиса не генерировался должным образом в моей частной сети, и поэтому по умолчанию использовался блок генезиса по умолчанию.

Выполните следующую команду, чтобы просмотреть блок генезиса

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

person Joshua Duxbury    schedule 02.04.2019