Как удалить или сбросить блок-цепочку в geth? (OSX)

У меня есть блок-цепочка из-за того, что вы хотите перезагрузить цепочку. что мне нужно удалить, чтобы начать загрузку цепочки с нуля?

Я знаю, что есть 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
27 голосов | спросил xpnimi 7 MaramMon, 07 Mar 2016 11:24:18 +03002016-03-07T11:24:18+03:0011 2016, 11:24:18

3 ответа


26

Для geth удалите $home/Libary/Ethereum/chaindata. Это должно уничтожить блок-цепь и позволить вам синхронизировать с нуля. Также вы, вероятно, захотите быстро выполнить синхронизацию, чтобы быстро вернуться к цепочке --fast.

ответил Péter Szilágyi 7 MarpmMon, 07 Mar 2016 12:30:25 +03002016-03-07T12:30:25+03:0012 2016, 12:30:25
26

Вы также можете использовать geth removedb, чтобы удалить базы данных цепочки и состояния.

geth removedb
Remove local database? [y/N] 

После удаления старых баз данных запустите geth --fast --cache=1024 (см. ответ на этот вопрос @eth).

Обратите внимание, что использование geth --fast не позволит вам использовать debug.traceTransaction(...) для блоков, которые были --fast код> загружен. Дополнительная информация в Как проверить трассировку VM с помощью Geth? и Как можно определить статус транзакции из заброшенной ошибки, когда газ может быть точно таким же, как газ, используемый для успешной транзакции? .

См. также Что такое Geth's "fast «синхронизация и почему это происходит быстрее? .

ответил guest 30 J000000Saturday16 2016, 04:54:19
20

Для других операционных систем по умолчанию datadir:

Mac: ~/Library/Ethereum
Linux: ~/.ethereum
Windows: %APPDATA%/Ethereum

Удалите подкаталог chaindata, который вы найдете.

Запустите geth --fast --cache=1024 за рекомендуемый способ быстро синхронизировать цепочку (не забудьте использовать более крупный --cache со значением, равным 1024, в противном случае по умолчанию будет 16, и он не будет синхронизироваться так быстро).

ответил eth 23 Maypm16 2016, 15:18:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132