Синхронизация Geth в течение 24 часов, еще не завершена [дубликат]

Я скачал Geth 1.6.6 и запустил его для синхронизации блокчейна. Прошло 24 часа, папка chaindata 12,4гб и до сих пор идет. Когда я должен ожидать, что это будет сделано? Это нормально (веб-сайт, с которого я читал, сказал, что это займет «от 20 минут до нескольких часов»), или я сделал что-то не так? Я использовал команду geth --rpc --fast --cache=1024, если это поможет. Довольно новичок в этом, поэтому не уверен на 100%, что происходит.

Аналогичная информация здесь: ethereum.stackexchange.com/questions/18709/…
Это повторяющийся шаблон, но «официального» заявления о первопричине пока нет. Кажется, это связано с мощностью машины, двухъядерный процессор с 4 гигабайтами оперативной памяти кажется недостаточным. Что ты используешь?
У меня процессор Intel i7-6700HQ и 16 ГБ оперативной памяти. Почти уверен, что это четырехъядерник, но не уверен на 100%.
@Reece Jocumsen, это действительно четырехъядерный процессор, и его должно быть достаточно для питания, вы используете GPU или CPU?
Я еще не начал майнить, все, что я сделал, это набрал «geth --rpc --fast --cache=1024» в cmd и запустил его. Я прочитал сообщение, на которое я был связан, и решил удалить файлы, которые у меня уже были, и попробовать еще раз и посмотреть, что из этого получится.
Машина четырехъядерная, да. Вы можете попробовать --cache=2048, у вас достаточно оперативной памяти. Когда процесс geth --fast запущен, он загрузит до 25 гигабайт данных цепочки на ваш жесткий диск. В зависимости от скорости вашей сети, это может занять несколько дней. Другие люди сообщали, что отключение маршрутизатора или остановка geth на протяжении всего процесса (пока он не будет полностью синхронизирован) может повлиять на загрузку. Поэтому, вероятно, вы хотите, чтобы он работал до полной синхронизации.
Хорошо, спасибо за помощь. Ускорит ли --cache=2048 или сделает что-то еще?
Какой у вас тип диска? Может не ssd?
Это ssd, да. На нем тоже много места. У меня была консоль geth --fast --cache=1024, которая работала в течение нескольких дней, достигла около 3,99 мил (папка chaindata на 24,5 гигабайта), и теперь, когда я набираю eth.syncing, она говорит false. Он все еще импортирует новые записи состояния и все такое, но, по-видимому, не синхронизируется.

Ответы (1)

Сначала проверьте ход синхронизации,

$ geth attach
> eth.syncing
{
  currentBlock: 2272408,
  highestBlock: 2326493,
  knownStates: 0,
  pulledStates: 0,
  startingBlock: 2265791
}

С каждым запуском eth.syncingвы должны видеть увеличение числа. Синхронизация завершится, когда currentBlock достигнет наивысшего блока.

Важная проблема

Если вы заметили, что currentBlock больше не увеличивается на последних нескольких сотнях оставшихся блоков, одной из самых важных проблем является ваше системное время! Попробуйте включить сетевую синхронизацию времени на вашем компьютере и перезапустите geth после этого, это может решить вашу проблему.

Вы можете использовать следующую команду, чтобы включить NTP в Ubuntu.

timedatectl set-ntp true