Что такое синхронизация Geth's «fast», и почему она быстрее?
Один из ответов на этот вопрос предложил использовать Geth's - fast, чтобы быстро синхронизировать данные блока.
Как работает флаг и как его ускорить синхронизацию? Мы синхронизируем меньше данных, или мы каким-то образом выполняем меньше проверок его целостности или источника?
Edit:
Начиная с версии Geth 1.6.0 , - fast стал --fast
(хотя --fast
также доступен для использования до сих пор).
2 ответа
В этом PR на github есть много подробностей. Вот цитата:
Вместо того, чтобы обрабатывать всю цепочку цепочки по одной ссылке за раз и воспроизводить все транзакции, которые когда-либо происходили в истории, быстрая синхронизация загружает транзакционные квитанции вдоль блоков и вытаскивает всю последнюю базу данных состояния.
Поскольку --fast
часто является единственным, связанным с быстрой синхронизацией, не забудьте --cache
.
Ниже приведены некоторые флаги для использования, когда вы хотите синхронизировать свой клиент больше быстро.
- быстро
Этот флаг обеспечивает быструю синхронизацию через государственные загрузки, а не загружая полные данные блока. Это также уменьшит размер ваш блокчейн резко. ПРИМЕЧАНИЕ. - fast можно запускать только в том случае, если вы синхронизируя ваш блокчин с нуля и только в первый раз, когда вы загрузите блокчину по соображениям безопасности. См. Этот пост Reddit для Дополнительная информация.
- кэш = 1024
Мегабайты памяти, выделенные для внутреннего кэширования (мин. 16 МБ /база данных принудительно). Значение по умолчанию - 16 МБ, поэтому это увеличение до 256, 512, 1024 (1 ГБ) или 2048 (2 ГБ) в зависимости от того, сколько оперативной памяти, которое должен иметь ваш компьютер разница.