Все мои блоки удалены

У меня есть частная сеть для тестирования. Моя проблема в том, что когда я перестаю запускать сеть geth, все мои добытые блоки исчезают. я бегу как

geth --datadir "ethereum/node1" --port 30301 --networkid 1234 --rpc --rpcport "8545" --rpcapi db,eth,net,web3,personal --ws --wsport "8546" --rpccorsdomain "*"

(иногда использую nohup) и останавливаю сервер с помощью cntrl+c. Когда geth работает, я проверяю номер блока eth.blockNumber, и он показывает номер блока, и он увеличивается. После того, как я остановлю и запущу свой сервер, я проверяю, используя eth.blockNumber, он всегда показывает 0, и для майнинга блоков требуется несколько часов. Из-за этого я теряю многие тестовые данные. Это общая проблема? Есть ли работа, чтобы предотвратить это? Любая идея будет полезна. Спасибо.

Я бы включил добавление журналов -verbosity 5в командную строку geth. Если geth завершится без ошибок, он должен перезапуститься с того места, где остановился. Из вашего описания видно, что у geth есть проблемы с закрытием, из-за которых в базе данных могут остаться неверные данные, что приведет к перезапуску с блока 0.

Ответы (2)

вы можете использовать geth export <filename>иgeth import <filename>

из Вики Go Ethereum

иногда я использую nohup

Что вы видите, когда просматриваете журналы?

хвост -f nohup.out

Я подозреваю, что geth просто пытается определить текущее состояние, соответствующее самому высокому блоку в вашем локальном узле, и показывает блок 0, пока это не будет сделано.