Ethereum не синхронизируется: Проблемы с кошельком Ethereum Wallet

Содержание

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

Новые версии Ethereum-Wallet (также известный как Mist ) будут выполнять быструю синхронизацию при первом запуске. Однако, если вы Ethereum-Wallet из Ethereum-Wallet до того, как закончите синхронизацию, с этого момента он переключится на медленную синхронизацию, потому что быструю синхронизацию можно выполнить только при первом запуске.

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

К счастью, можно «начать все сначала» и синхронизировать с самого начала.

  1. Найдите свою папку chaindata . Инструкции для этого можно найти здесь: https://ethereum. stackexchange.com/a/6551/704

  2. Выйдите из geth , Mist , Ethereum-Wallet и любого другого программного обеспечения Ethereum, которое вы можете использовать на своем компьютере (веб-сайты, связанные с Ethereum, могут оставаться открытыми).

  3. Переименуйте, переместите или удалите папку chaindata . Лично я удаляю его, когда слежу за этим процессом, поскольку его содержимое полностью восстановимо. Однако, если вы не уверены в этом или chaindata себя неловко, вы можете просто переместить папку chaindata другое место или переименовать ее. Если этот процесс не работает, вы всегда можете переместить / переименовать его и выбрать, где вы остановились, прежде чем пытаться следовать этим инструкциям.

  4. Запустить Ethereum-Wallet . Крайне важно, чтобы вы запустили Ethereum-Wallet первым после этого, а не что-то еще, например, geth . Ethereum-Wallet запустит свою собственную копию за кулисами в быстром режиме. Также можно запустить geth в быстром режиме с помощью geth --fast , хотя для начинающих я рекомендую использовать пользовательский интерфейс, а не командную строку.

  5. Подождите, пока он синхронизируется. Как упоминалось ранее, этот процесс должен занять всего пару часов на современном подключении и компьютере. Вы должны увидеть, что номера блоков растут намного быстрее, чем раньше, при условии, что вы были в обычном режиме ранее.

  6. Не бросайте Ethereum-Wallet ! Оставьте его открытым и работающим (вы можете минимизировать / скрыть его) до завершения начальной синхронизации. Если вы выйдете и перезапустите его, вы перезапустите его в обычном (не быстром) режиме, и вам придется снова следовать этим инструкциям, если вы хотите снова перейти в быстрый режим.

Geth Light Node Не Синхронизируется

Я хочу проверить остатки моих кошельков с помощью geth console. Поэтому я попытался использовать geth в режиме света. Но когда я использую:

geth console --syncmode light

Он застревает в блоке номер 0, и он не начинает синхронизацию. Вот несколько результатов:


    web3.eth.syncing — false

    eth.blockNumber — 0


Версия я используется: 1.7.3

Кто-нибудь знает, как я могу заставить его запустить синхронизацию?

Это результат, который я получаю:

WARN [12-01|12:02:28] No etherbase set and no accounts found as default
INFO [12-01|12:02:28] Starting peer-to-peer node instance=Geth/v1.7.3-stable-4bb3c89d/linux-amd64/go1.9
INFO [12-01|12:02:28] Allocated cache and file handles database=/root/.ethereum/geth/lightchaindata cache=128 handles=1024
INFO [12-01|12:02:28] Writing default main-net genesis block
INFO [12-01|12:02:29] Initialised chain configuration config="{ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Engine: ethash}"
INFO [12-01|12:02:29] Disk storage enabled for ethash caches dir=/root/. ethereum/geth/ethash count=3
INFO [12-01|12:02:29] Disk storage enabled for ethash DAGs dir=/root/.ethash count=2
INFO [12-01|12:02:29] Added trusted checkpoint chain name="ETH mainnet"
INFO [12-01|12:02:29] Loaded most recent local header number=0 hash=d4e567…cb8fa3 td=17179869184
INFO [12-01|12:02:29] Starting P2P networking
INFO [12-01|12:02:31] UDP listener up self=enode://56ff89f879fea8caee295e2e60086b5b1d4e56e0a6135a351f35a092cfdbbc9b7c32261396e0be61998b773ba565e8ef05ed1d3cc1ac7e479ebbccefac754b65@[::]:30303
WARN [12-01|12:02:31] Light client mode is an experimental feature
INFO [12-01|12:02:31] RLPx listener up self=enode://56ff89f879fea8caee295e2e60086b5b1d4e56e0a6135a351f35a092cfdbbc9b7c32261396e0be61998b773ba565e8ef05ed1d3cc1ac7e479ebbccefac754b65@[::]:30303
INFO [12-01|12:02:31] IPC endpoint opened: /root/.ethereum/geth.ipc

Спасибо заранее!

Синхронизация кошельков с Биткоин | Freedman Club Crypto News

Биткоин наиболее популярный криптоактив. Bitcoin добывают, используя майнинг, заключая торговые сделки на криптобиржах. В новостях Биткоина основное внимание уделяется тому, какой будет курс, насколько изменится стоимость BTC, какие будут тренды на крипторынке.

У Биткоина основой является блокчейн, содержащий в себе полный объем информации от каждой из транзакций. Чтобы совершать платежи в сети, клиенты используют Биткоин кошельки. Они синхронизируются с сетью для транзакций.

Синхронизация кошелька с сетью

Есть несколько подходов синхронизации. Первый предполагает, что Биткоин кошельки сами являются полными узлами сети. Во втором подходе применяют доверенный узел. В третьем подходе происходит непосредственное взаимодействие с прочими узлами сети.

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

Причины плохой синхронизации или ошибок

Если долго синхронизируется кошелек, это может быть обусловлено несколькими причинами. Первая – большой объем данных. С каждым годом ПК приходится использовать все больше свободного места для того, чтобы программа могла без проблем функционировать. Иногда бывает так, что места на диске просто не остается и программа периодически дает сбои.

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

Может быть плохая синхронизация из-за этого, что интернет-соединение отличается некачественной скоростью. Загрузки файлов через браузеры осуществляются в замедленном режиме, в отличие от торрентов. Это может быть тарифный план, провайдер не использует современное оборудование, поэтому блоки транзакций могут скачиваться длительное время.

Что же делать, чтобы ускорить синхронизацию криптокошелька?

Синхронизация Биткоин кошелька может быть улучшена, если использовать следующие методы. Для улучшения синхронизации Биткоин кошелька рекомендуется приобрести SSD-накопитель. У него скорость намного больше. Желательно приобрести накопитель с большим объемом.

Если накопитель новый, а синхронизация кошелька остается низкой, тогда надо проверять начинку ПК. Возможно дело в процессоре, если он работает более 4-х лет, тогда придется менять на новый.

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

Можно попробовать скачивать блоки с помощью торрент. Главное, найти на торрент файл bootstrap.dat и начать его загружать. Рекомендуется воспользоваться такой ссылкой — bitcoin.org/bin/block-chain.

Еще одна методика, позволяющая сделать синхронизацию более быстрой – копирование блоков транзакций у другого клиента. Для этого надо отыскать такого пользователя, скачать на свой носитель файл bootstrap. dat. Однако, такого человека надо еще отыскать, встретиться с ним, скачать файл, и главное, чтобы не было заражения вирусными программами. Про безопасность надо помнить всегда!

Возможно приобрести более скоростной интернет у своего провайдера, но это не более чем дополнительная мера.

Итоги

Итак, чтобы синхронизация кошелька с сетью была более быстрой, необходимо использовать разные способы, от приобретения более скоростного накопителя и до скачивания блоков через торрент.

Подписывайтесь на Телеграм канал, чтобы всегда быть в курсе самых последних и горячих новостей @like_freedman

Автор: Вадим Груздев, аналитик Freedman Сlub Crypto News

0 0 голоса

Рейтинг статьи

Сборник часто задаваемых вопросов о синхронизации данных Ethereum

Синхронизация данных Ethereum является необходимым этапом для новичков, чтобы начать работу, и их часто повторно спрашивают в технической группе обсуждения (659809063). В этом сообщении в блоге будет составлен список распространенных проблем, который сможет изучить каждый.

Список часто задаваемых вопросов

Что делать, если разница блоков составляет несколько десятков блоков и синхронизация не может быть завершена?

Это первая проблема, с которой сталкиваются все при синхронизации данных. Когда все в спешке запускали программу и наблюдали, как блок все ближе и ближе приближается к последнему, возбуждение было неизбежным. Но когда разница составляла более десяти или десятков юаней, ждать приходилось долго, поэтому я не мог не спросить: что-то не так?

Есть два решения, как решить эту проблему: одно и т. Д. Программа работает нормально, все, что вам нужно, это терпеливо подождать; 2. Обновите конфигурацию оборудования и повторите попытку.

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

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

Синхронизация блоков застряла на 99%, что мне делать?

Эта проблема аналогична описанной выше в разделе «Что делать, если между десятками блоков есть разница». Причина та же, но ситуация иная.

Как проверить синхронизацию

Войдите в консоль и используйте команду web3j для запроса статуса синхронизации блока:

eth_syncing

Если структура возвращает false, это означает, что данные не синхронизируются. Если результат возвращает что-то вроде следующего, это доказывает, что он синхронизируется:

{ 
currentBlock: 290584, // Высота синхронизируемого блока 
highestBlock: 891836, // Наибольшая высота связанного узла knownStates: 465886, 
pulledStates: 361434, 
startingBlock: 0 
}

Терпеливо дождитесь, пока значение knownStates синхронизируется с максимальным значением. Это значение постоянно меняется, и в настоящее время оно составляет сотни миллионов.

Почему высота блока запроса равна 0

Одним из распространенных проявлений того, что блок не синхронизирован, является просмотр высоты блока, чтобы показать, что высота равна 0, например, выполнить следующую команду:

> eth.blockNumber
0

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

Почему баланс счета запроса равен нулю

Почему в адресе, запрашиваемом браузером блокчейна, есть баланс, но баланс, запрашиваемый через локальный узел, равен 0 или неверен?

Эта проблема также вызвана неполной синхронизацией блокчейна. Например, если вы переводите определенную сумму средств на адрес, а текущий узел не синхронизирован с этой транзакцией, то баланс этого аккаунта не включает эту транзакцию.

Команда запроса баланса:

eth.getBalance("0x8b275d360a5d435e9dfcf27d610362ee2fdf460c")

Примерно сколько данных синхронизируется

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

Какой режим синхронизации лучше

Ответ заключается в том, что обычные пользователи могут использовать режим синхронизации по умолчанию. Используйте полный режим осторожно, объем синхронизируемых данных велик, время синхронизации данных велико, а пространство велико. По умолчанию используется быстрая синхронизация, но когда процесс перезапускается и узел обнаруживает, что данные уже есть, он больше не будет использовать режим быстрой синхронизации и перейдет в нормальный режим синхронизации. Вот почему данные, синхронизированные всеми в приведенном выше вопросе, не обязательно совпадают.

Как можно быстрее синхронизировать

Прежде всего, убедитесь, что пропускная способность сети достаточна.Жесткий диск должен быть как минимум высокоскоростным, а лучше твердотельный. Во-вторых, убедитесь, что ваши узлы связаны с достаточным количеством активных узлов, чтобы обеспечить плавный поток источника данных. Наконец, определенный эффект дает установка размера кеша в параметрах запуска.

Настройки параметров кеширования:

 --cache value  Наименьший16M, по умолчанию128, Может быть расширен соответствующим образом в зависимости от ситуации с памятью.

Какую конфигурацию можно нормально синхронизировать

В настоящее время конфигурация двухъядерного жесткого диска емкостью 2 Мбайт с пропускной способностью 4G и емкостью 500 Гбайт уже немного перегружена, и необходим соответствующий объем подкачки, чтобы уменьшить нагрузку на память и гарантировать, что узел Ethereum не будет убит из-за OOM.

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

Журнал исключений

Если вы проверите журнал и обнаружите, что узел часто печатает следующий журнал:

WARN [03-17|16:16:34] Synchronisation failed, retrying         err="block download canceled (requested)"
WARN [03-17|16:19:04] Synchronisation failed, dropping peer    peer=97685428ba8e71a0 err=timeout
WARN [03-17|16:22:59] Synchronisation failed, dropping peer    peer=142bb4c4f4670f42 err=timeout
WARN [03-17|16:24:04] Synchronisation failed, dropping peer    peer=5eb409e398c68508 err=timeout
WARN [03-17|16:25:13] Synchronisation failed, dropping peer    peer=ccc9241c5adf919e err=timeout
WARN [03-17|16:27:10] Synchronisation failed, dropping peer    peer=eff1874302a0e666 err=timeout
WARN [03-17|16:32:52] Synchronisation failed, retrying         err="block download canceled (requested)"

Рассмотрите возможность перезапуска узла или добавления одноранговых узлов вручную. Рекомендуется искать доступные для добавления узлы в Интернете, например узлы Spark или узлы данных, которые были синхронизированы.

Если добавить узел просмотра или добавить узел

Выполните следующую команду, чтобы просмотреть узел:

> net.peerCount
13

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

>admin.addPeer("enode://0d1b9eed7afe2d5878d5d8a4c2066b600a3bcac2e5730586421af224e93a58cd0[email protected]209.9.106.245:30303")
true

Общие браузеры Ethereum

https://etherscan.io/

https://block.bitbank.com/eth/

Как долго можно завершить синхронизацию

В настоящее время пользователи с более высокой конфигурацией могут в основном завершить синхронизацию примерно за 24 часа, а несколько дней или недель с более низкой конфигурацией являются нормальным явлением.

Что такое обычный журнал синхронизации

Формат журнала при нормальной синхронизации данных следующий:

INFO [03-17|17:02:57] Imported new chain segment               blocks=1 txs=380 mgas=7. 980 elapsed=45.080s mgasps=0.177 number=5235156 hash=7c7414…b84924
INFO [03-17|17:03:42] Imported new chain segment               blocks=1 txs=379 mgas=7.978 elapsed=45.242s mgasps=0.176 number=5235157 hash=eb9541…39b945
INFO [03-17|17:04:32] Imported new chain segment               blocks=1 txs=367 mgas=7.964 elapsed=50.074s mgasps=0.159 number=5235158 hash=be6c65…f10378
INFO [03-17|17:05:02] Imported new chain segment               blocks=1 txs=150 mgas=4.285 elapsed=29.106s mgasps=0.147 number=5235159 hash=e3c5e2…c67c5c

В дополнение к анормальной информации в журнале аномальной синхронизации, журналы синхронизируемой структуры данных следующие:

INFO [06-18|10:10:34] Imported new state entries count=384 elapsed=131.007ms processed=17120103 pending=23855
INFO [06-18|10:10:35] Imported new state entries count=384 elapsed=116.006ms processed=17120487 pending=23978
INFO [06-18|10:10:36] Imported new state entries count=384 elapsed=134.007ms processed=17120871 pending=24186
INFO [06-18|10:10:38] Imported new state entries count=384 elapsed=305. 017ms 

другие проблемы

Остальные вопросы пока собираются и обобщаются. Подробности смотрите в личном блоге. Этот блог постоянно обновляется:http://www.choupangxia.com/topic/detail/8

Дополнительная информация

** Для получения дополнительной информации, пожалуйста, подпишитесь на публичный аккаунт WeChat: Новое видение программы. Или присоединитесь к группе обмена технологиями QQ: 659809063.
Я искренне получаю R&D и техническую поддержку, связанные с Ethereum (упаковка интерфейса Ethereum, разработка токенов и т. д.). При необходимости, свяжитесь с QQ: 541075754. Ты единственный. **

Получите индивидуальную техническую консультациюПожалуйста, отсканируйте код, чтобы присоединиться к планете знаний (маленький кружок)

Баг в коде клиентов Ethereum сделал 13% нод непригодными для использования

Проблема с клиентами Parity-Ethereum и OpenEthereum может привести к еще большей централизации сети, что негативно скажется на безопасности блокчейна.

Код клиентов Parity-Ethereum и OpenEthereum версий 2.7 и выше содержит ошибку, которая не позволяет нодам под управлением этого ПО синхронизироваться с последним добытым в сети блоком. Как передает Coindesk, критический баг фактически сделал 13% нод блокчейна Ethereum непригодными для использования, что в очередной раз указывает на одну из основных проблем сети — на централизацию клиентов.

Читайте Bloomchain через любимые соцсети: Telegram, VK, FB

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

Разнообразие клиентов Ethereum — один из способов защиты блокчейна от сетевых атак. Клиенты созданы на разных языках программирования, а значит уязвимости, которые присутствуют в одной системе, скорее всего будут отсутствовать в других.  

Примером того, как многообразие клиентов позволяет защитить сеть от злонамеренной атаки, является так называемый «шанхайский инцидент» 2016 года. Тогда блокчейн Ethereum подверглась массированной DDoS-атаке — неизвестный использовал недавно обнаруженную уязвимость в языке программирования Go, на котором реализован клиент от Geth, чтобы замедлить транзакции. В результате клиенты Geth моментально отключились от сети, тогда как ноды под управлением Parity-Ethereum продолжали работать.

Читайте также: Parity переведет свой клиент для Ethereum на модель обслуживания DAO

Однако сейчас сеть является слишком централизованной, поэтому такая защита может и не сработать. Практически 80% узлов работают под управлением вышеупомянутого клиента Geth, который поддерживает организация Ethereum Foundation. Такая зависимость считается возможным вектором атаки — во многом именно поэтому разработчикам пришлось перенести запланированный на июль хардфорк Berlin.

«Основная причина [отложить хардфорк] заключается в том, чтобы уменьшить зависимость от Geth и избежать ситуации, в которой отказ одного клиента повредит всю сеть. В настоящее время на Geth ложится слишком большая нагрузка, так как безотказность его работы слишком важна», — сказал тогда один из разработчиков Алексей Ахунов.

Предполагалось, что до осени другие менее крупные клиенты получат более широкое распространение в сети. Однако за два месяца ситуация не изменилась — Geth по-прежнему доминирует над остальными клиентами. 

Интересно, что, по информации Coindesk, клиент Parity-Ethereum не соответствует текущим спецификациям сети. Более того, для разработчиков это не является секретом. Так, например, менеджер OpenEthereum Марсело Руис де Олана в разговоре с изданием сказал, что его команда обнаружила в клиенте как неразрешимые, так и «очень серьезные проблемы, влияющие на использование памяти и диска». 

Возможности синхронизации РРЛ — продукция компании ZTE

В настоящее время основными методами синхронизации часов, поддерживаемых с помощью радиорелейного излучения, являются GPS, BITS, 1588, 1588v2, Sync E, ToP и sync от TDM.

Радиореле в качестве оборудования доступа между беспроводным и передаваемым оборудованием должно обеспечивать различные методы синхронизации для различных услуг во время проектирования и использования сети. В настоящее время основными методами синхронизации часов, поддерживаемых с помощью радиорелейного излучения, являются GPS, BITS, 1588, 1588v2, Sync E, ToP и sync от TDM. Указанные методы не могут соответствовать требованиям синхронизации часов и передачи беспроводных устройств и передаваемого оборудования.

Радиорелейные сети синхронизации часов

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

1. Синхронизация со стороны TDM линии

В этом случае услуги E1 / STM-1 осуществляют оригинальные часы TDM на каждой станции, чтобы удовлетворить требованиям синхронизации GSM / UMTS. Рисунок 1 показывает, что радиорелейное оборудование получает главные часы на стороне BSC / RNC, а затем передает услугу TDM на все терминальное радиорелейное оборудование через радиопорты. BTS / Node B извлекает часовую информацию из портов E1/STM-1 радиорелейного оборудования, и наконец, вся линия синхронизируется. Из-за незначительного дрожания и задержки TDM услуг, стабильность и надежность синхронизированных часов очень высокая.

2. Синхронизация ToP-Aware

ToP (время над пакетом) означает, что часовая информация инкапсулируется в пакеты, а пакеты имеют наивысший приоритет для обеспечения их максимальной надежности и минимальной задержки времени для достижения высокой точности, насколько это возможно. Возьмите синхронизацию 1588v2 в качестве примера, как показано на Рисунке 2, управляющие кадры 1588v2 назначаются с наивысшим приоритетом, даже при перегруженности управляющие кадры 1588v2 также могут быть переданы как можно быстрее, таким образом, обеспечивая точность передачи часов. На сайте терминала, Node B может осуществить синхронизацию времени из порта ETH, который соединен с терминальным радиорелейным оборудованием.

3. Sync E

Один из способов Ethernet синхронизации называется родной синхронизацией E, как показано на Рисунке 3, часы радиорелейного оборудования из интерфейса синхронизации E от RNC, а затем распределяет его по другим радиорелейным узлам в формате Ethernet; Node B извлекает информацию о синхронизации из порта ETH, который подключен к радиорелейному оборудованию для реализации синхронизации. Весь процесс распределения осуществляется без каких-либо TDM или других услуг.

Другой метод Ethernet синхронизации осуществляется с использованием совмещенной услуги TDM, в случае Node B и BTS на том же сайте, как в сервисном центре, так и в терминале, тактовые часы могут быть извлечены из совмещенной услуги TDM на сайте BTS и распространяться на услуги Ethernet на участке Node B, с помощью которого реализуется синхронизация Ethernet.

Почему размер блокчейна Ethereum в 1 ТБ не беспокоит Бутерина?

Стремительный рост блокчейна Ethereum начал вызывать опасения членов криптосообщества еще в прошлом году. Так, в июне 2017 года пользователи сети заметили, что за 12 месяцев размер блокчейна, второй по капитализации криптовалюты на рынке, вырос на 700%. А в марте этого года майнеры сети стали испытывать трудности при синхронизации полных архивных нод с блокчейном. По мнению некоторых участников рынка, причиной тому может служить рост количества данных в сети, размер которых уже превышает 1 ТБ.

Впервые о том, что архив данных в блокчейне Ethereum может весить порядка 1 ТБ стало известно в июне 2017 года. Тогда крипто-энтузиаст и предприниматель Туур Демеестер заметил, что за год, с июня 2016 по июнь 2017, размер блокчейна Ethereum увеличился на 700%:

According to one source, the Ethereum blockchain has bloated by +700% in the past 12 months: now about 180 GB. https://t.co/wKVqyqy6G7 pic.twitter.com/XfH5He4gRL

— Tuur Demeester (@TuurDemeester) 12 июня 2017 г.
Согласно одному источнику, блокчейн Ethereum раздулся на 700% за последние 12 месяцев: сейчас где-то 180 ГБ.

При таком стремительном росте некоторые участники криптосообщества предположили, что сеть сможет достичь отметки в 1 ТБ еще до конца 2017 года. Согласно анализу автора Hackernoon, известного под псевдонимом StopAndDecrypt, это произошло позже — в мае 2018, и нынешний размер данных в блокчейне Ethereum уже превышает 1 ТБ. Что, в свою очередь, может привести не только к проблемам для майнеров и их нод, но и потенциально стать причиной централизации всей сети.

Постоянный рост блокчейна Ethereum ставит под угрозу работу полных архивных нод, которые отвечают за хранение и синхронизацию всего архива транзакций в сети. Так, в начале марта сразу несколько майнеров сообщили о том, что их ноды, работающие с клиентом Geth версии 1.8.1 и 1.8.2, не могут закончить синхронизацию с блокчейном Ethereum. В частности, майнеры отмечали, что при синхронизации их ноды отставали на 65 блоков от текущего состояния сети, несмотря на то, что обновление не прекращалось. Предположительно, причиной тому стали размер данных и пропускная способность сети, не позволяющая своевременно загрузить необходимое количество информации.

При этом автор Hackroon уверен, что ключевой проблемой для сети Ethereum является не общий объем данных в 1 ТБ, а неограниченный размер блока, который со временем будет только расти, потенциально угрожая децентрализации всей сети:

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

Более того, нерегулируемый рост размера блоков в сети Ethereum приведет к тому, что полные ноды не смогут справляться с высокой нагрузкой блокчейна. По мнению StopAndDecrypt, в какой-то момент полные ноды просто не смогут синхронизироваться с блокчейном, в связи с чем их количество сильно сократится. Таким образом, среди ключевых проблем сети автор отметил:

 Увеличение размера блока в Ethereum, что затрудняет обработку данных и повышают требования к нодам, а не к размеру памяти на их жестком диске.

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

 В свою очередь, эти ограничения будут способствовать росту комиссий, а также будут препятствовать работе существующих Dapps (децентрализованных приложений), таких как CryptoKitties, Shrimp Farm и Pepe Farm, которые уже сейчас существенно нагружают сеть. При этом будущие Dapps не будут работать вовсе.

 Если Dapps перестанут работать, предназначение сети Ethereum станет спорным.

Статья StopAndDecrypt получила высокий уровень цитирования как в соцсетях, так и на других медийных площадках, посвященных крипторынку, а пользователи Hackeroon оставили порядка 10,000 лайков.

Через несколько дней после публикации Густав Симонссон, сооснователь orchid.com и бывший разработчик Ethereum, дал подробный ответ, где разобрал ключевые моменты статьи. Так, по мнению Симонссона, автор был прав в следующих высказываниях:

 Блокчейн Ethereum достиг уровня своей полной вычислительной мощности, в результате чего комиссии за транзакции выросли. То же самое произошло в сети Bitcoin, которая также работает на полной мощности при растущих транзакциях. Причной тому служит спрос, который превышает предложение в обеих сетях.

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

 Вместе с ростом числа поступающих транзакций выросли и требования к пропускной способности полных нод в сети Ethereum.

 Чем больше размер блоков, тем больше ресурсов потребуется сети для работы полных нод (и майнеров), что со временем может привести к финансовой централизации, поскольку только малому количеству пользователей удасться работать с полными нодами и получать прибыль от майнинга.

 Большое количество полных нод необходимо для поддержания децентрализации и безопасности сети.

Однако в остальном Симонссон не смог согласиться с StopAndDecrypt, отмечая, что автор не до конца понимает, как работает блокчейн Ethereum.

 В случае блокчейна Ethereum, размер блока увеличивается в геометрической прогрессии, в связи с чем сдерживающим фактором служат только внешние нерегулируемые ограничения.

Симонссон подчеркнул, что блоки в сети имеют ограничение, но, в отличие от сети Bitcoin (где оно равно 1 МБ), в Ethereum для этого есть лимит газа (Gas Limit) — максимальное количество газа, которое пользователь готов заплатить за подтверждение транзакции. При этом в рамках протокола консенсуса сети майнеры сами решают, каким будет лимит газа за блок. Симонссон также объяснил, что если автор доверяет майнерам сети Bitcoin в том, что они заинтересованы в повышении ценности биткоина, то логично, что и майнеры сети Ethereum не станут голосовать за решения, которые будут мешать их работе (слишком высокий лимит газа).

 Для того чтобы предотвратить полный коллапс сети, разработчикам необходимо будет внедрить ограничения размера блоков. В свою очередь, эти ограничения будут способствовать росту комиссий, а также будут препятствовать работе существующих Dapps.

По словам Симонссона, высокая активность Dapps не несет ущерба сети, но влияет на повышение размера комиссий. Рост комиссий за транзакции обусловлен готовностью пользователей платить ту или иную сумму за их подтверждение. Разработчик подчеркнул, что именно по этой причине Bitcoin до сих является крупнейшей по капитализации сетью, несмотря на низкую проходную способность в 3−7 транзакций в секунду и высокие комиссии, которые в конце прошлого года доходили до отметки в $55.

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

Симонссон объяснил, что любой компьютер с процессором не старше 6 лет, 8 ГБ оперативной памяти и современным SSD-накопителем может выполнять функции полной ноды в сети Ethereum. Как отметил разработчик, он сам имеет несколько таких нод, подключенных через небольшой сервер к сети. Более того, на сегодняшний день пока неизвестно точное число полных нод, необходимых для поддержания работоспособности крупной децентрализованной сети.

Также основатель Ethereum Виталик Бутерин высказался в комментариях к популярной статье, подчеркнув, что автор крайне неосведомлен и вводит читателей в заблуждение.

Как и Симонссон, Бутерин объяснил, что ограничением размера блока служит лимит газа, который последние полгода оставался на уровне 8 миллионов. При этом в данный период высокоскоростная синхронизация каталога данных на клиенте Geth ежемесячно увеличивается на 10 ГБ. Другими словами, сеть последние полгода успешно справляется с повышенной загруженностью.

Более того, говоря о высоком объеме каталога данных сети, Бутерин отметил, что в зависимости от клиента у майнера есть несколько вариантов по работе с данными. Если работать с клиентом Parity в режиме State-Only, то полной ноде майнера (не архивной) понадобится порядка 10 ГБ свободного места. В свою очередь, для работы с клиентом Geth майнеру необходимо более 74 ГБ памяти для синхронизации с блокчейном Ethereum.

Как синхронизировать узел Ethereum без ошибок, которые я сделал

by Zack

Когда я только начал разрабатывать платформу Ethereum, синхронизация узла была одним из первых моих шагов. Не имея никого, кто мог бы держать меня за руку, и некуда было объединить все распространенные ошибки, с которыми я столкнулся, я потратил недели, просто синхронизируя узел. Это была такая головная боль, что я почти сдался.

Незнание терминологии только усложняло задачу.

Итак, в этой статье я хочу объединить все распространенные ошибки, с которыми вы можете столкнуться, и объяснить причины каждого шага при синхронизации узла.Надеюсь, у вас не будет такого неприятного раннего опыта, как у меня.

Краткое введение

В Ethereum разработчики создают части приложения, которые запускаются в сети. Они называются смарт-контрактами . Хотя вы можете развернуть их вручную без синхронизации с узлом Ethereum, в долгосрочной перспективе для процесса разработки удобнее синхронизировать (особенно когда мы хотим использовать фреймворки разработки, такие как Truffle).

Для синхронизации узла Ethereum нам потребуется следующее программное обеспечение:

  • Geth — Клиент для узла Ethereum.
  • Ethereum Wallet — Пользовательский интерфейс для узла Ethereum.

Приступим.

Установите Geth

Чтобы загрузить Geth, перейдите сюда для пользователей Windows. Затем нажмите кнопку «Geth for Windows».

Пользователям MacOS я рекомендую загружать их с помощью homebrew. Вы можете сделать это с помощью следующих команд:

  brew tap ethereum / ethereumbrew install ethereum  

Дополнительные сведения см. В инструкциях Geth.

Убедитесь, что Geth установлен правильно, набрав geth версии в терминале (MacOS) или PowerShell (Windows).

Установите Ethereum Wallet

Мы называем графический интерфейс, который взаимодействует с сетью, «кошельком». Вы можете найти множество различных кошельков для Ethereum с помощью быстрого поиска в Google (например, Parity, Jaxx и MyEtherWallet). Мне лично нравится использовать кошелек Ethereum. У него удобный интерфейс, и я немного предвзято отношусь к нему, потому что он разработан самим Ethereum.

Вы можете найти программу установки здесь.

Примечание: я предпочитаю Ethereum Wallet против Mist .Mist — это, по сути, браузер, который отображает децентрализованные приложения (dApps) и веб-сайты.

Для разработки смарт-контракта нам понадобится только кошелек Ethereum.

Mainnet vs Testnet

В Ethereum есть две основные сети: основная и тестовая.

Основная сеть используется для транзакций в реальном эфире. Стоимость эфира привязана к реальной фиатной валюте через обмен криптовалюты.

Как разработчики, мы не хотим запускать тесты приложений за реальные деньги.Для этого и предназначена тестовая сеть.

Мы называем тестовую сеть Ropsten .

Запустите Geth и Ethereum Wallet

При разработке смарт-контракта сначала необходимо синхронизировать тестовую сеть. Нам нужно будет синхронизировать основную сеть только тогда, когда мы будем готовы к развертыванию.

Вам потребуется около 30 ГБ дискового пространства для синхронизации тестовой сети. Поскольку в основной сети больше транзакций, вам потребуется около 100 ГБ для синхронизации основной сети.

Примечание: некоторые говорят, что для быстрой записи требуется SSD-накопитель, чтобы синхронизация могла догнать последний блок.Лично я считаю, что с жестким диском все в порядке. Однако, если бы у меня был выбор, я бы определенно использовал SSD-накопитель.

Для пользователей Windows

Для облегчения доступа я рекомендую вам создать папку для хранения цепочки блоков. Например, «C: \ EthereumTestnet».

После создания папки попробуйте выполнить следующую команду:

  geth - testnet - data-dir = ”C: \ EthereumTestnet” - rpc - rpcapi eth, web3, net, personal  

Изменить: похоже, некоторые аргументы изменились.Если вы столкнулись с такой ошибкой «флаг предоставлен, но не определен: -data-dir», попробуйте изменить имя аргумента на -datadir вместо data-dir.

Аргумент --testnet указывает, что мы хотим выполнить синхронизацию с сетью Ropsten. Таким образом, для синхронизации основной сети вам просто нужно вынуть аргумент --testnet и изменить каталог данных. Например:

geth - data-dir = ”C: \ EthereumMainnet” - rpc - rpcapi eth, web3, net, personal

Аргумент --rpc включает сервер HTTP-RPC.Это позволяет нам использовать определенные службы, например, то, что указано в --rpcapi eth, web3, net, personal .

После ввода команды вы должны увидеть что-то вроде этого:

Geth запускается.

Чтобы не повредить цепочку блоков, особенно после многих часов синхронизации, НЕ следует резко закрывать командную строку. Всегда останавливайте синхронизацию, нажимая Ctrl + C , и ждите, пока Geth не закроет программу за вас.

После нажатия Ctrl + C Geth закрывается.

Однако трудно запомнить все необходимые вам службы команд и rpc. Вот почему я предлагаю вам создать ярлык или командный файл.

Просто создайте файл с помощью любого текстового редактора и сохраните его как файл .bat . Например, RunGethTestnet.bat (имя не важно). Скопируйте и вставьте команду в файл и сохраните. В следующий раз, когда вам понадобится запустить Geth for Ropsten, просто дважды щелкните файл.

После запуска Geth мы должны запустить кошелек Ethereum.Поскольку мы хотим, чтобы интерфейс находил точное место, где мы синхронизировали наши файлы с помощью Geth, мы выполняем его из консоли.

Подобно Geth, я также сохранил для него командный файл с примером команды, например, приведенной ниже:

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

В качестве альтернативы вы можете добавить приложение в свой путь.

Аргумент --node-datadir = "C: \ EthereumTestnet" указывает, где я хранил свои цепочки данных, точно такие же, которые я указал для Geth.

Для пользователей Mac

Для MacOS это немного проще, потому что данные цепи загружаются в библиотеку автоматически, а не скрываются от нас. Таким образом, нам не нужно указывать каталог данных.

Тем не менее, я рекомендую создать файл сценария, чтобы упростить работу Geth и Ethereum Wallet.

Команда Geth для testnetCommand для запуска Ethereum Wallet

Примечание: Geth должен запускаться до Ethereum Wallet .

Запуск только Ethereum Wallet автоматически запустит процесс синхронизации, поскольку он автоматически запустит клиент Geth в фоновом режиме.Это удобно для пользователя, но не включает службы RPC, которые мы хотим использовать. Таким образом, мы хотим убедиться, что RPC включен как в Geth, так и в Ethereum Wallet.

Несколько заметок
  1. Процесс синхронизации очень долгий и может занять до 2–3 дней. Наберитесь терпения и оставьте компьютер включенным на ночь.
  2. Скорость синхронизации зависит от скорости вашего интернета, количества пиров и скорости записи вашего накопителя.
  3. Поскольку данные хранятся в блоках и связаны вместе, повреждение в одном блоке может привести к повреждению всей цепочки данных.Это может потенциально тратить ваши усилия на дни ожидания синхронизации узла. Поэтому очень важно правильно выключить ваш Geth. В некоторых случаях может потребоваться откат. Но здесь профилактика лучше, чем лечение.
  4. Индикатор выполнения на вашем кошельке Ethereum — НЕ . Полагаясь на него, вы будете испытывать много беспокойства и разочарования.
  5. Geth работает на порту 30303 для внешнего прослушивания.
  6. Порт по умолчанию, используемый для внутренней связи, например, между вашим кошельком и Geth, — 8545.

Убедитесь, что ваш порт для клиента Geth открыт.

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

Вы можете обнаружить эту проблему, посмотрев на одноранговых узлов . Если он остается постоянно низким примерно на уровне 1–3 узлов (не менее получаса), высока вероятность того, что ваше соединение ограничено.Здоровый диапазон выше 5 сверстников.

Пользователи MacOS

При запуске Geth должно появиться уведомление о разрешении подключения. Ну, конечно, нажмите «Разрешить».

Чтобы проверить, перейдите в Системные настройки> Система и конфиденциальность.

На вкладке Firewall щелкните Firewall Options .

Пользователи Windows

Чтобы открыть порт, выберите Панель управления> Система и безопасность> Брандмауэр защитника Windows.

Щелкните Расширенные настройки . На боковой панели щелкните Inbound Rules .

Входящие порты, которые вы хотите открыть, — это TCP и UDP 30303. Итак, я создал одно правило для TCP 30303, а другое — для UDP 30303.

Вам может потребоваться открыть исходящие порты и для TCP 30303.

Обратите внимание, что любой сторонний брандмауэр / антивирус также может ограничивать ваши соединения, поэтому обязательно настройте его соответствующим образом.

Присоединение к Geth

Чтобы получить дополнительную информацию о вашем узле, вы можете присоединиться к клиенту Geth и выполнять с ним команды с помощью служб RPC.

Вот простой способ проверить статус синхронизации: подключитесь к клиенту, введя следующую команду на отдельном терминале / консоли.

geth attach http://127.0.0.1:8545

Опять же, вы можете захотеть сохранить его в пакетном файле / файле сценария для вашего удобства.

После выполнения команды вы должны увидеть что-то вроде этого.

Введите web3.eth , и вы увидите много информации. Чтобы получить конкретную информацию о синхронизации, введите web3.eth.syncing вместо этого.

Как видите, индикатор выполнения, расположенный в верхней части кошелька Ethereum, представляет собой просто сравнение между highBlock и currentBlock . Поскольку upperBlock , известный вашему компьютеру, может не быть фактическим самым высоким блоком, индикатор выполнения может не отражать реальный прогресс.

Фактически, высшие блоки и knownStates будут продолжать увеличиваться по мере того, как вы синхронизируете свои узлы.

Некоторые заключительные моменты

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

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

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

Чтобы увидеть больше таких статей, подпишитесь на меня или посетите мой сайт — точка зрения разработчика.

Синхронизация

— Застрял узел Ethereum, не удается синхронизировать Синхронизация

— Узел Ethereum застрял, не удается выполнить синхронизацию — Ethereum Stack Exchange
Сеть обмена стеков

Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

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

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 16к раз

Я использую Macbook Pro OS X версии 10.9.5, и я не могу пройти фазу синхронизации. «Узел Ethereum должен синхронизироваться, пожалуйста, подождите …» — это именно то, что нужно, но независимо от того, сколько времени я жду, он не может синхронизироваться. У меня есть возможность пропустить одноранговый поиск и запустить приложение, но тогда оно не синхронизируется с моим кошельком, поэтому в моей основной учетной записи отображается 0 Ether. Я загрузил приложение 20 дней назад и только собираюсь отправить сообщение о помощи. Приветствуется любое понимание.

Создан 07 апр.

платок0824

8111 золотой знак11 серебряных знаков22 бронзовых знака

2

Загрузить последнюю версию Wallet And Run Packaged Geth

  • Загрузите последнюю версию кошелька Ethereum с https: // github.com / ethereum / mist / Release и установите его.

  • Вы найдете исполняемый файл geth в подкаталоге ./resources/node/geth/ в каталоге установки Ethereum Wallet. Это программное обеспечение, которое подключается к одноранговым узлам в сети Ethereum для синхронизации блокчейна. Вот список, эквивалентный Linux, для каталога Ethereum Wallet и подкаталога geth :

      пользователь @ Kumquat: ~ / Ethereum-Wallet-linux64-0-5-1 $ ls -al
    всего 99520
    drwxr-xr-x 4 пользователь пользователь 4096 2 апр, 00:11.drwxrwxr-x 10 пользователь пользователь 4096 8 апр, 17:21 ..
    -rw-r - r-- 1 пользователь пользователь 153 мар 5 03:33 АВТОРЫ
    -rw-r - r-- 1 пользователь пользователь 9215042 5 мар 03:32 content_shell.pak
    -rwxr-xr-x 1 пользователь пользователь 59738392 5 марта 03:32 Ethereum-Wallet
    -rw-r - r-- 1 пользователь пользователь 10206624 5 марта 03:32 icudtl.dat
    -rw-r - r-- 1 пользователь пользователь 2546072 5 марта 03:32 libffmpeg.so
    -rw-r - r-- 1 пользователь пользователь 520152 5 марта 03:32 libgcrypt.so.11
    -rwxr-xr-x 1 пользователь пользователь 17367040 5 марта 03:32 libnode.so
    -rw-r - r-- 1 пользователь пользователь 32422 5 мар 03:33 ЛИЦЕНЗИЯ
    -rw-r - r-- 1 пользователь пользователь 1137248 5 мар 03:32 ЛИЦЕНЗИИ.chromium.html
    drwxr-xr-x 2 пользователь пользователь 4096 5 марта 03:32 locales
    -rw-r - r-- 1 пользователь пользователь 439857 5 марта 03:32 natives_blob.bin
    -rw-rw-r-- 1 пользователь пользователь 65 апр 2 00:11 privatekey.txt
    -rw-r - r-- 1 пользователь пользователь 5 марта 1987 г., 03:33 README.txt
    drwxr-xr-x 3 пользователь пользователь 4096 5 мар 03:33 ресурсы
    -rw-r - r-- 1 пользователь пользователь 657164 5 марта 03:32 snapshot_blob.bin
    -rw-r - r-- 1 пользователь пользователь 6 мар 5 03:33 версия
    пользователь @ Kumquat: ~ / Ethereum-Wallet-linux64-0-5-1 $ ls -al resources / node / geth / geth
    -rwxr-xr-x 1 пользователь пользователь 26892984 5 марта 03:33 ресурсы / узел / geth / geth
      
  • Удалите старую копию блокчейна с помощью команды:

      rm -rf ~ / Библиотека / Ethereum / chaindata
      
  • Из каталога установки Ethereum Wallet выполните команду:

     ./ resources / node / geth / geth --fast консоль
      
  • Вы должны увидеть что-то вроде следующих сообщений (я работаю в Linux):

      I0408 17: 21: 39.549439 29822 flags.go: 425] ПРЕДУПРЕЖДЕНИЕ: по умолчанию не задана база данных etherbase и не найдено учетных записей.
    I0408 17: 21: 39.549604 29822 database.go: 71] Кэш выделен 16 МБ для / home / user / EthereumWallet / tmp / chaindata.
    I0408 17: 21: 39.719778 29822 database.go: 71] Кэш выделен 16 МБ для / home / user / EthereumWallet / tmp / dapp.
    I0408 17:21:39.721252 29822 backend.go: 314] Версии протокола: [63 62 61], идентификатор сети: 1
    I0408 17: 21: 39.721397 29822 backend.go: 362] Версия БД блокчейна: 3
    I0408 17: 21: 39.721823 29822 blockchain.go: 214] Последний заголовок: # 0 [d4e56740…] TD = 17179869184
    I0408 17: 21: 39.721875 29822 blockchain.go: 215] Последний блок: # 0 [d4e56740…] TD = 17179869184
    I0408 17: 21: 39.721917 29822 blockchain.go: 216] Быстрый блок: # 0 [d4e56740…] TD = 17179869184
    I0408 17: 21: 39.727628 29822 cmd.go: 114] Запуск Geth / v1.3.5-34b622a2 / linux / go1.6
    I0408 17: 21: 39.727768 29822 server.go: 311] Начальный сервер
    I0408 17: 21: 41.677719 29822 udp.go: 212] Прослушивание, кодирование: // 2b3f690e2c7c398d5782a5a33d47da9965cf08497299d3b232014fc89b0a8cbdc66d789110f0cbaba8351303b0cbae8355d0cf0cbae6355d0cf0cbae8345d3d0cf0cfcf3d0cf0cf0cb8e4d03d1
    I0408 17: 21: 41.677903 29822 backend.go: 526] Сервер запущен
    I0408 17: 21: 41.678055 29822 server.go: 552] Прослушивание [::]: 30303
    I0408 17: 21: 41.678340 29822 ipc.go: 112] Служба IPC запущена (/home/user/EthereumWallet/tmp/geth.ipc)
    экземпляр: Geth / v1.3.5-34b622a2 / Linux / go1.6
     datadir: / главная / пользователь / EthereumWallet / tmp
    coinbase: нуль
    в блоке: 0 (чт, 01 января 1970, 10:00:00 AEST)
    модули: admin: 1.0 db: 1.0 debug: 1.0 eth: 1.0 miner: 1.0 net: 1.0 personal: 1.0 shh: 1.0 txpool: 1.0 web3: 1.0
    > I0408 17: 22: 01.678243 29822 downloader.go: 288] Блочная синхронизация началась
    I0408 17: 22: 06.973046 29822 blockchain.go: 889] импортировал 192 заголовка (ов) (0 игнорируется) в 1.274319263 сек. # 192 [88e96d45… / 723899e8…]
    I0408 17: 22: 06.982296 29822 blockchain.go: 1044] импортировал 2 квитанции (0 игнорируется) из 711.895 мкс. # 2 [88e96d45… / b495a1d7…]
    I0408 17: 22: 09.9

    29822 downloader.go: 1102] Откат 192 заголовка (LH: 192-> 0, FB: 2-> 0, LB: 0-> 0) I0408 17: 22: 11.778867 29822 blockchain.go: 1044] импортировал 190 квитанций (0 игнорируется) за 36,573252 мс. # 192 [3d612266… / 723899e8…]

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


По-прежнему не работает — устранение неполадок подключения

  • Если вы по-прежнему не можете синхронизировать цепочку блоков, как показано в предыдущем разделе, возможно, у вас проблема с брандмауэром. geth попытается установить связь с компьютерами через порт 30303 через Интернет.
  • Вы используете это из корпоративной или домашней сети?
  • Существуют ли брандмауэры, препятствующие обмену данными с необработанными IP-адресами?
  • Существуют ли какие-либо ограничения на порты, с которыми можно обмениваться данными?
  • Вот начальные загрузочные узлы Ethereum, с которыми geth попытается установить связь (с https: // github.com / ethereum / go-ethereum / blob / master / eth / backend.go # L71-L78):

      defaultBootNodes = [] * discover.Node {
        // Загрузочные узлы ETH / DEV Go
        Discover.MustParseNode ("enode: //[email protected]: 30303"), // IE
        Discover.MustParseNode ("enode: //[email protected]: 30303"), // BR
        Discover.MustParseNode ("enode: //[email protected]: 30303"), // SG
        // ETH / DEV cpp-ethereum (poc-9.ethdev.com)
        Discover.MustParseNode ("enode: //[email protected]: 30303 "),
    }
      
  • Давайте попробуем связаться с первым сервером загрузочного узла, используя следующую команду. В этом случае результаты показывают, что соединение выполнено успешно (пустой ответ вызван тем, что curl не взаимодействует с тем же протоколом обнаружения, что и сервер загрузочного узла Ethereum):

      пользователь @ Kumquat: ~ / Ethereum-Wallet-linux64-0-5-1 $ curl http://52.16.188.185:30303 -o outfile
      % Всего% Получено% Xferd Средняя скорость Время Время Время Текущее
                                     Выгрузка Всего израсходовано Оставшаяся скорость
      0 0 0 0 0 0 0 0 -: -: - 0:00:05 -: -: - 0
    curl: (52) Пустой ответ от сервера
      
  • Вот как это будет выглядеть, если ваша сеть не разрешает связь с сервером начальной загрузки Ethereum.Я имитирую это состояние, предоставляя неверный IP-адрес. Значение «Затраченное время» просто продолжает щелкать. Вам нужно будет нажать Control-C, чтобы выйти из программы curl :

      пользователь @ Kumquat: ~ / Ethereum-Wallet-linux64-0-5-1 $ curl http://52. C
    пользователь @ Kumquat: ~ / Ethereum-Wallet-linux64-0-5-1 $
      
  • Если у вас возникли проблемы с подключением, как показано в предыдущем пункте, вам понадобится незаблокированное подключение к Интернету, если вы хотите синхронизировать свою цепочку блоков с сетью Ethereum.

Обновлено: 08.08.2021 — 21:20

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *