У меня повреждена цепочка блоков, и я хочу выполнить полную перезагрузку цепочки. что мне нужно удалить, чтобы начать скачивать цепочку с нуля?
Я знаю, что есть 2 папки ethereum (у меня OSX):
$home/.ethereum
$home/Libary/Ethereum
Я недавно обновил geth до «Homestead» 1.3.5 и получил ошибку в терминале, например:
E0306 ... 3211 trie.go:309] Dangling hash node ref 3c6233326.... leveldb: not found
и иногда я получаю предупреждение о плохом блоке:
Bad block #1102797
Для гета удалите $home/Libary/Ethereum/chaindata
. Это должно стереть саму цепочку блоков и позволить вам синхронизироваться с нуля. Кроме того, вы, вероятно, захотите выполнить быструю синхронизацию после этого, чтобы быстро вернуться в цепочку --fast
.
geth
перезагружать цепочку или направлять с помощью geth --fast
?geth --fast --cache=512 console
вот как бы я лично начал гет :Drm -R ~/Library/Ethereum/geth/chaindata/
geth removedb
Вы также можете использовать geth removedb
для удаления блокчейна и баз данных состояний.
geth removedb
Remove local database? [y/N]
После удаления старых баз запустите geth --fast --cache=1024
(см. ответ на этот вопрос от @eth
).
Обратите внимание, что использование geth --fast
не позволит вам использовать загруженные debug.traceTransaction(...)
блоки . --fast
Некоторая дополнительная информация в разделе Как проверить трассировку ВМ с помощью Geth? и Как можно определить статус транзакции из выброшенной ошибки, когда газ может быть точно таким же, как и газ, использованный для успешной транзакции? .
См. также Что такое «быстрая» синхронизация Geth и почему она быстрее? .
Для других операционных систем по умолчанию datadir
:
Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum
Удалите chaindata
найденный подкаталог.
Запустите geth --fast --cache=1024
рекомендуемый способ быстрой синхронизации цепочки (не забудьте использовать большее --cache
значение со значением, например 1024, в противном случае значение по умолчанию равно 16, и оно не будет синхронизироваться так быстро).
хпними