Как я могу очистить блокчейн?

Я пытаюсь выполнить быструю синхронизацию, geth --fastно получаю следующее сообщение:

Блокчейн не пуст, быстрая синхронизация отключена

Как я могу очистить блокчейн, чтобы обеспечить быструю синхронизацию?

Ответы (4)

Чтобы удалить свой блокчейн с помощью geth, запустите: geth removedb
Затем:

Используйте --fast, но вам, вероятно, также нужно --cache=1024--jitvmможет также помочь). Без него вы работаете со значением по умолчанию, которое равно --cache=16.

Увеличение скорости на 50% возможно только за счет увеличения кеша.

Если вы начинаете с самого начала, используйте:geth --fast --cache=1024 --jitvm

В зависимости от вашей оперативной памяти вы также можете попробовать более высокие значения, например --cache=2048.

ПРИМЕЧАНИЕ . Число после --cache=— это объем памяти, выделенный задаче загрузки блокчейна!!

Источник

Обратите внимание, что теперь это должно быть geth removedb(без тире)
Есть ли способ сделать это, когда geth --fastон уже запущен? Я хочу, чтобы он работал в течение длительного времени, чтобы отвечать на запросы RPC, но не хочу, чтобы он занимал мой диск.
Я имею в виду безопасный способ. Вы можете работать geth removedbв отдельной оболочке во время geth --fastработы. У меня не было проблем с этим, а затем с отправкой нескольких xactов, но я не знаю, безопасно ли это. Документы ничего не говорят.

По умолчанию datadir:

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

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

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

РЕДАКТИРОВАТЬ: Запуск geth removedb— это самый простой способ удалить блокчейн в Geth.

Если у вас частично или полностью импортирован блокчейн при запуске geth, то использование --fastфлага игнорируется (флаг отключен). Чтобы использовать --fastфлаг, вы должны удалить все данные из своей chaindataпапки.

Будет ли начинать заново с --fast меньше времени, чем обновление с сохраненных данных? В какой момент вы бы сказали, что это того стоит?

использовать

geth --fast --cache=2048

кажется, по крайней мере, Mac не предоставляет других опций в go1.9.2:

flag provided but not defined: -jitvm
Это старый вопрос (март 2016 г.), ранние итерации --fastфлага не позволяли перезапускать geth до тех пор, пока он не завершит синхронизацию, если вы перезапустите, он переключится в полный режим.