Помогите с очень медленной синхронизацией тумана

Я видел другие сообщения на Reddit, где пользователи сталкивались с медленной синхронизацией. Я использую Windows 10 и версию 3.7 (я видел на Gitter, что у других пользователей Windows 10 были проблемы со сбоем версии 3.8).

Моя скорость загрузки составляет 4,19 МБ/с. Я настроил часы на (time.nist.gov). Я до сих пор не могу синхронизироваться, а прошло уже несколько часов, наверное, не менее 10, а я только на полпути.

Какие-либо предложения? Также я замечаю, что когда я закрываю и снова открываю, только примерно в трети случаев мне предлагается вариант «пропустить поиск пиров». Наконец, я попытался открыть счет, когда он не был синхронизирован. Я смог ввести и подтвердить пароль, однако новая учетная запись не появилась.

  1. Это проблема с виндой?
  2. Это проблема со скоростью сети?
Длительное время синхронизации нормально (к сожалению) - когда я обновил его около недели назад, это заняло значительно больше 10 часов;)
Я думаю, что есть некоторые проблемы с совместимостью. Иногда он зависает на блоках, и мне приходится перезапускать. Большую часть времени он пытается синхронизироваться без возможности зайти в приложение — пропустить одноранговый поиск. Во второй раз, когда я зашел в приложение, я увидел созданную учетную запись, но вскоре после этого потерял пиров.
Я действительно удивлен, насколько это грубо. Я думал, что это будет намного дальше. Я тоже использовал бумажный бумажный кошелек с эфирным кошельком, так как вариантов было немного.
У меня был точно такой же опыт — он находится в активной разработке, поэтому, боюсь, вы не можете ожидать супер гладкого UX.
Может ли это быть связано с дрейфом часов или просто батарейками часов? В сабреддите ethtrader был парень, который не мог синхронизироваться, пока не переустановил часы на правильное время.
Попробуйте очистить каталог ethereum (где бы он ни был для Windows), а затем попробуйте использовать 0.3.9. Я смог синхронизироваться примерно за 25 минут, если это поможет. (соединение 12 Мбит/с)
не знаком с окнами, но может быть, он блокирует порт по умолчанию?
У меня та же проблема, и я почти уверен, что это мой устаревший жесткий диск... данные записываются почти на 100% все время. Думаю пора обновиться!
10 часов ты шутишь, я обновляюсь последние 2 месяца!!!
Почему бы вам не использовать параметры --fast или --light для получения синхронизированного узла. Сначала запустите geth, используя --fast или --light, затем запустите Mist. При свете это занимает несколько коротких минут.

Ответы (9)

Я использую Windows 10, Mist Wallet 0.7.2, который включает в себя geth v1.3.6, жесткий диск без SSD и Ethernet-соединение с модемом 16 Мбит/с.

У меня была невероятно медленная синхронизация блокчейна, даже с 25 пирами, и на самом деле мне приходилось выходить и перезапускать Mist только для того, чтобы загрузить еще несколько блоков. Я установил Mist Wallet для Win64 отсюда , который также включает интерфейс командной строки под названием geth. (примечание. По-видимому, версии x32 не содержат geth? )

Я следовал множеству различных рекомендаций, однако ни одна из них не работала, пока я не удалил данные блокчейна с помощью geth и не запустил весь процесс снова.

Вместо того, чтобы использовать процесс синхронизации Mist, я удалил данные цепочки, а затем запустил geth --fast:

  • Открыл командную строку

  • Перешел в каталог, содержащий geth.exe, и открыл его.

  • Скопировал путь к файлу из панели проводника

  • Введите cd path/to/geth(замените path/to/geth тем, что вы скопировали) и нажмите Enter.

  • Набрал geth removedbи нажал Enter.

  • Как только блокчейн был удален, я запустилgeth --fast

Это выше также описано здесь.

Загрузка теперь должна заблокировать 500 000 за 30 минут, что раньше занимало 3 дня!

Если вы на Mac, вы бы сделали это...

  • Щелкните правой кнопкой мыши на ethereum-wallet.app и выберите «показать содержимое пакета».

  • Откройте «contents», затем «frameworks», затем «node», затем «geth» и вуаля.

  • Затем вы должны щелкнуть правой кнопкой мыши gethи выбрать «показать информацию».

  • Скопируйте местоположение с пометкой «Где:».

  • Откройте терминал и введите «cd `

  • Затем введите:./geth --fast

Другими рекомендуемыми изменениями в Windows, которые я выполнил, были:

geth removedbЯ не уверен, способствовал ли какой-либо из них тому, что он стал намного быстрее после того, как я, но каждый из них вполне может вам помочь.

Полная загрузка 1 500 000 блоков завершилась примерно через 10 часов, поэтому загрузка блоков определенно занимает больше времени, чем больше номер блока, из-за увеличения количества транзакций, содержащихся в каждом блоке.

Это феноменально. Вся информация. Одно место. Ясно сказано. Можете ли вы добавить, как вам gethудалось запустить в CLI? Вы уже установили его отдельно или вы перешли в папку geth. Не могли бы вы добавить это к своему ответу, пожалуйста? Спасибо.
Я также только что прочитал этот сайт, в котором говорится, что приоритет geth.exe должен быть снижен до низкого или ниже нормального и привязан только к одному процессору. Не уверен, что это тоже поможет? forum.daohub.org/t/access-to-and-selling-dao-tokens/5556/7
Это похоже на опечатку выше, резко обрывается: Откройте Терминал и введите 'cd `
Почему вы должны удалить и начать сначала, вместо того, чтобы сохранить уже достигнутый прогресс? Создает ли --fast другой набор данных?
Привет @mowliv, да, быстрый вариант — это в основном извлечение сжатой версии всей цепочки блоков, которая существует в данный момент времени. В идеале параметр --fast проверит ваш последний номер блока, а затем выведет только последние транзакции, которые вам нужно добавить в конец вашей цепочки блоков. Я полагаю, что должна быть причина, по которой разработчики решили не включать этот тип процесса, возможно, безопасность/стабильность цепочки?
Было бы здорово обновить раздел Mac для текущего кошелька Ethereum. Гет больше не является его частью. Вместо этого я нахожу c++ eth без опции --fast.
знать, где находится geth на win10 ver. 0.8.10?
@mowliv Данные geth теперь существуют на Mac в ~/Library/Ethereum/
Это решение недостаточно хорошее. После 24-часового ожидания синхронизации с опозданием примерно на 2 недели я решил сделать ваше. Это правда, чем через несколько часов я получил синхронизацию. Сегодня (через 24 часа после синхронизации) я перезапускаю geth (конечно, не быстро): я все еще работаю со скоростью около 1 блока / 40 секунд, осталось 6000 блоков. Мой --cache установлен на 4096.
Теперь я использую четность и варп-синхронизацию с туманом... Гораздо быстрее, чем гет!

Используйте --fastи не забывайте --cacheс Geth

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

--fastважно, чтобы помочь синхронизировать прошлые вычислительно интенсивные блоки .

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

Если у вас уже есть часть блокчейна, используйте: geth --cache=1024. Если это занимает слишком много времени, возможно, вы находитесь в процессе синхронизации блоков, требующих больших вычислительных ресурсов, и удаление цепочки блоков и geth removedbперезапуск быстрой синхронизации будет быстрее.

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

Источник

Если вы используете клиент geth, вы можете кое-что сделать, чтобы ускорить загрузку блокчейна Ethereum. Если вы решите использовать флаг --fast для выполнения быстрой синхронизации Ethereum, вы не сохраните данные прошлых транзакций.

Примечание

Вы не можете использовать этот флаг после выполнения всей или части обычной операции синхронизации, а это означает, что вы не должны загружать какую-либо часть блокчейна Ethereum перед использованием этой команды. См. этот ответ Ethereum Stack.Exchange для получения дополнительной информации.

Ниже приведены некоторые флаги, которые следует использовать, если вы хотите ускорить синхронизацию клиента.

--быстро

Этот флаг включает быструю синхронизацию через загрузку состояния, а не загрузку данных полного блока. Это также значительно уменьшит размер вашего блокчейна. ПРИМЕЧАНИЕ. --fast можно запустить только в том случае, если вы синхронизируете свою цепочку блоков с нуля и только при первой загрузке цепочки блоков из соображений безопасности. См. этот пост Reddit для получения дополнительной информации.

--кэш=1024

Мегабайты памяти, выделенные для внутреннего кэширования (мин. 16 МБ/база данных принудительно). По умолчанию установлено значение 16 МБ, поэтому увеличение этого значения до 256, 512, 1024 (1 ГБ) или 2048 (2 ГБ) в зависимости от объема оперативной памяти вашего компьютера должно иметь значение.

--jitvm

Этот флаг включает виртуальную машину JIT.

Я согласен с этим ответом, но я бы добавил, что, по крайней мере, в моем случае большая разница была достигнута при запуске geth с описанными выше флагами И флагом --rpc. Почему я не знаю, синхронизация все еще работает примерно через 3,5 часа, и в настоящее время она, кажется, застопорилась. Но я оставил его в тупике пару часов назад, и в конце концов он продолжился.

Geth — это CLI-клиент Ethereum, который помогает приложению Mist Wallet подключаться к сети Ethereum (у вас также есть возможность использовать клиент C++, но в настоящее время Mist по умолчанию использует Geth). Если загрузка Mist (или Geth) занимает много времени для загрузки/загрузки блокчейна, попробуйте следующее:

  1. Скачать гет
  2. Запустите geth с --fastопцией. Пример:geth --fast
  3. После того, как geth завершит синхронизацию блокчейна в окне консоли/терминала, откройте приложение Mist Wallet, если вы его используете. Он должен загружаться с последними данными блокчейна.

Опция «Быстрая синхронизация Ethereum» очень новая, и в ней до сих пор есть некоторые ошибки. Однако, если вы сможете найти узел, на котором установлена ​​последняя версия клиента Ethereum, он сможет выполнить быструю синхронизацию с вами, сэкономив время загрузки и место на жестком диске.

Подробнее о быстрой синхронизации в Ethereum:

К вашему сведению, вам не нужно закрывать гет перед запуском тумана. Mist принимает любой работающий узел или запускает свой собственный.
А, хороший улов. Редактирование ответа.

У меня работает geth.exe вместо загрузки блокчейна с помощью тумана. Он находится в папке resources/node/geth тумана.

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

Большое спасибо, у меня была такая же проблема с синхронизацией. Я изменил настройки часов на time.nist.gov, и теперь я сделал команды от вас.

Opened the cmd prompt

Navigated to the directory containing geth.exe and opened it

Copied the file path from the bar Explorer

Typed cd path/to/geth (replace path/to/geth with what you copied) and hit enter.

Typed geth removedb and hit enter.

Once the blockchain was removed, I ran geth --fast

И теперь отлично работает всего 30 минут на синхронизацию :) Спасибо

Я использую Windows 10 на медленном Core i5 1,7 ГГц с 8 ГБ.

Если у вас уже загружена часть блокчейна, вы не можете использовать --fast.

  • Главное, что меня ускорило, это остановка Superfetch в диспетчере задач. Он находится под одним из хостов службы. Он боролся с гетами за ресурсы жесткого диска.

  • Я также остановил другие тяжелые процессы (Dropbox, OneDrive, Skype и т. д.).

Казалось, что мой компьютер обрабатывает блоки так медленно, что мои P2P-соединения в сети меня обрывают, поэтому синхронизация останавливается, пока geth ищет новые соединения.

Кроме того, eth<> является правильным. увеличение кеша немного помогает скорости. Я использовал --cache=4096. Это ускоряет работу примерно на 50%.

В любом случае, сейчас я скачиваю со скоростью, которая обновит меня до текущего блока (1 571 255) примерно через 10 часов.

В пакетах Mist также есть geth.exe , eth.exe . только в CLI geth также медленнее, чем до DAOHUB.

По моим оценкам, появилось очень много новых гет-узлов по сравнению с существующими узлами. Итак, медленная синхронизация.

И если вы немного более быстрая и стабильная синхронизация, просто запустите geth.exe без накладных расходов на MIST ux.

@Hudson Jameson Я не рекомендую использовать опцию --fast. Это некоторая проблема с целостностью моего опыта выпуска усадьбы. но, если на geth нет обновлений, тогда --fast также является альтернативным выбором.

Актуализация ситуации с клиентами на ноябрь 2017 года:

В Ethereum Wallet или Mist 0.9.x вы можете синхронизироваться с помощью легкого клиента, который все еще находится под экспериментальным ярлыком.

Это позволит вам ускориться за считанные минуты, а не часы.

Вы также можете запустить Geth через командную строку:

geth --syncmode light

Для меня было достаточно отключения службы «Superfetch» ​​в диспетчере задач Windows (открыть службы на вкладке служб), казалось, что Windows 7/8/8.1 и 10 используют слишком много оперативной памяти для данных кеша (хотя ОС достаточно умна чтобы удалить весь ненужный кеш, когда это необходимо [например, когда вы открываете большие программы]), но это программное обеспечение кошелька еще не настолько развито, чтобы решить эту проблему само по себе.

Служба Superfetch в Windows существует для программ и данных входа в систему в оперативной памяти, где пользователь уже использовал их один раз или использует часто.

Узлы до отключения -> 1-9 сейчас -> 1-28

Блокчейны загружены в течение 2 часов