У меня проблемы с выполнением начальной синхронизации Ethereum-Wallet, что я могу сделать, чтобы устранить неполадки?
Новые версии Ethereum-Wallet
(также известный как Mist
) будут выполнять быструю синхронизацию при первом запуске. Однако, если вы Ethereum-Wallet
из Ethereum-Wallet
до того, как закончите синхронизацию, с этого момента он переключится на медленную синхронизацию, потому что быструю синхронизацию можно выполнить только при первом запуске.
Быстрая синхронизация намного быстрее, чем обычная синхронизация, это займет всего пару часов на современном интернет-соединении и компьютере. Из-за этого часто бывает полезно перезапустить синхронизацию с самого начала, даже если вы хорошо разбираетесь в процессе синхронизации, если находитесь в обычном режиме.
К счастью, можно «начать все сначала» и синхронизировать с самого начала.
Найдите свою папку
chaindata
. Инструкции для этого можно найти здесь: https://ethereum. stackexchange.com/a/6551/704Выйдите из
geth
,Mist
,Ethereum-Wallet
и любого другого программного обеспечения Ethereum, которое вы можете использовать на своем компьютере (веб-сайты, связанные с Ethereum, могут оставаться открытыми).Переименуйте, переместите или удалите папку
chaindata
. Лично я удаляю его, когда слежу за этим процессом, поскольку его содержимое полностью восстановимо. Однако, если вы не уверены в этом илиchaindata
себя неловко, вы можете просто переместить папкуchaindata
другое место или переименовать ее. Если этот процесс не работает, вы всегда можете переместить / переименовать его и выбрать, где вы остановились, прежде чем пытаться следовать этим инструкциям.Запустить
Ethereum-Wallet
. Крайне важно, чтобы вы запустилиEthereum-Wallet
первым после этого, а не что-то еще, например,geth
.Ethereum-Wallet
запустит свою собственную копию за кулисами в быстром режиме. Также можно запуститьgeth
в быстром режиме с помощьюgeth --fast
, хотя для начинающих я рекомендую использовать пользовательский интерфейс, а не командную строку.Подождите, пока он синхронизируется. Как упоминалось ранее, этот процесс должен занять всего пару часов на современном подключении и компьютере. Вы должны увидеть, что номера блоков растут намного быстрее, чем раньше, при условии, что вы были в обычном режиме ранее.
Не бросайте
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.
Для MacOS это немного проще, потому что данные цепи загружаются в библиотеку автоматически, а не скрываются от нас. Таким образом, нам не нужно указывать каталог данных.
Тем не менее, я рекомендую создать файл сценария, чтобы упростить работу Geth и Ethereum Wallet.
Команда Geth для testnetCommand для запуска Ethereum WalletПримечание: Geth должен запускаться до Ethereum Wallet .
Запуск только Ethereum Wallet автоматически запустит процесс синхронизации, поскольку он автоматически запустит клиент Geth в фоновом режиме.Это удобно для пользователя, но не включает службы RPC, которые мы хотим использовать. Таким образом, мы хотим убедиться, что RPC включен как в Geth, так и в Ethereum Wallet.
Несколько заметок
- Процесс синхронизации очень долгий и может занять до 2–3 дней. Наберитесь терпения и оставьте компьютер включенным на ночь.
- Скорость синхронизации зависит от скорости вашего интернета, количества пиров и скорости записи вашего накопителя.
- Поскольку данные хранятся в блоках и связаны вместе, повреждение в одном блоке может привести к повреждению всей цепочки данных.Это может потенциально тратить ваши усилия на дни ожидания синхронизации узла. Поэтому очень важно правильно выключить ваш Geth. В некоторых случаях может потребоваться откат. Но здесь профилактика лучше, чем лечение.
- Индикатор выполнения на вашем кошельке Ethereum — НЕ . Полагаясь на него, вы будете испытывать много беспокойства и разочарования.
- Geth работает на порту 30303 для внешнего прослушивания.
- Порт по умолчанию, используемый для внутренней связи, например, между вашим кошельком и 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- 0
- +0
- Авторизоваться Зарегистрироваться
Ethereum Stack Exchange — это сайт вопросов и ответов для пользователей Ethereum, платформы децентрализованных приложений и блокчейна с поддержкой смарт-контрактов.Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 16к раз
Я использую Macbook Pro OS X версии 10.9.5, и я не могу пройти фазу синхронизации. «Узел Ethereum должен синхронизироваться, пожалуйста, подождите …» — это именно то, что нужно, но независимо от того, сколько времени я жду, он не может синхронизироваться. У меня есть возможность пропустить одноранговый поиск и запустить приложение, но тогда оно не синхронизируется с моим кошельком, поэтому в моей основной учетной записи отображается 0 Ether. Я загрузил приложение 20 дней назад и только собираюсь отправить сообщение о помощи. Приветствуется любое понимание.
Создан 07 апр.
платок08248111 золотой знак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 апр.
3Вот что бы я сделал:
Убедитесь, что вы используете последнюю версию Ethereum-Wallet: https://github.com/ethereum/mist/releases
Подключитесь к тестовой сети, чтобы убедиться, что все в порядке (в блокчейне тестовой сети должно быть меньше транзакций, поэтому вы сможете синхронизировать быстрее)
- Пропустить одноранговый поиск
- Панель приложений -> Разработка -> Сеть -> Тестовая сеть (Morden)
Если вы можете выполнить синхронизацию в тестовой сети, вы будете знать, что она работает.
Дополнительные возможности, которые вы можете попробовать:
- убедитесь, что все зависимости актуальны. Возможно, вам придется переустановить все, что связано с Ethereum. Не забудьте сделать резервную копию своих аккаунтов
- Проверьте свой компьютер. Есть ли проблемы с созданием DAG?
- Попробуйте подключиться к Geth (он также синхронизирует вас и создаст DAG)
Создан 07 апр.
Петерпетер4122 бронзовых знака
Я не большой поклонник синхронизации больших кусков цепочек данных с Mist, потому что он довольно медленный и обычно не выводит очень хорошие сообщения об ошибках.Я бы рекомендовал получить geth и запустить geth --fast
для всего, что превышает данные блокчейна за несколько дней.
Если вы получаете сообщение об ошибке от geth о том, что что-то повреждено (это случалось со мной несколько раз), я рекомендую следующее:
- Удалите вашу копию блокчейна с помощью
rm ~ / Library / Ethereum / chaindata / *
- Запустите
geth --fast
, чтобы загрузить новую копию блокчейна.
Это займет 1-2 часа .
Создан 08 апр.
Ethereum Stack Exchange лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
FAQ | Перейти Ethereum
Q. Я заметил, что мое количество пиров медленно уменьшается, и теперь оно равно 0. При перезапуске пиров нет.
A. Проверьте и синхронизируйте часы с помощью ntp. Пример sudo ntpdate -s time.nist.gov
В. Я хотел бы запустить несколько экземпляров geth, но получил ошибку «Неустранимая ошибка: ошибка базы данных блокчейна: ресурс временно недоступен».
A. Geth использует каталог данных для хранения цепочки блоков, учетных записей и некоторой дополнительной информации.Этот каталог не может использоваться совместно запущенными экземплярами. Если вы хотите запустить несколько экземпляров, следуйте этим инструкциям.
Q. Как работает синхронизация Ethereum?
A. Текущий режим синхронизации по умолчанию для Geth называется быстрой синхронизацией. Вместо того, чтобы начинать с блока генезиса и повторно обрабатывать все транзакции, которые когда-либо происходили (что может занять недели), быстрая синхронизация загружает блоки и проверяет только связанные доказательства работы.Загрузка всех блоков — это простая и быстрая процедура, которая относительно быстро соберет всю цепочку.
Многие люди ошибочно полагают, что, поскольку у них есть блоки, они синхронизированы. К сожалению, это не так, поскольку транзакция не была выполнена, поэтому у нас нет доступного состояния учетной записи (т.е. балансов, одноразовых номеров, кода смарт-контракта и данных). Их необходимо загрузить отдельно и перепроверить с последними блоками. Эта фаза называется загрузкой дерева состояний и фактически выполняется одновременно с загрузкой блоков; увы, в настоящее время это занимает намного больше времени, чем загрузка блоков.
Итак, что за состояние? В основной сети Ethereum уже есть множество учетных записей, которые отслеживают баланс, одноразовый номер и т. Д. Каждого пользователя / контракта. Однако самих учетных записей недостаточно для запуска узла, они должны быть криптографически связаны с каждым блоком, чтобы узлы могли действительно проверить, что учетная запись не подделана. Эта криптографическая привязка выполняется путем создания древовидной структуры данных над учетными записями, каждый уровень агрегирует нижний уровень во все более мелкий уровень, пока вы не достигнете единого корня.Эта гигантская структура данных, содержащая все учетные записи и промежуточные криптографические доказательства, называется деревом состояний.
Хорошо, а почему это создает проблему? Эта структура данных trie представляет собой сложную взаимосвязь сотен миллионов крошечных криптографических доказательств (узлов trie). Чтобы действительно иметь синхронизированный узел, вам необходимо загрузить все данные учетной записи, а также все крошечные криптографические доказательства, чтобы убедиться, что никто в сети не пытается вас обмануть. Это уже безумное количество элементов данных.Часть, где это становится еще более беспорядочным, заключается в том, что эти данные постоянно трансформируются: в каждом блоке (15 секунд) из этого дерева удаляется около 1000 узлов и добавляется около 2000 новых. Это означает, что вашему узлу необходимо синхронизировать набор данных, который меняется 200 раз в секунду. Хуже всего то, что пока вы выполняете синхронизацию, сеть движется вперед, и состояние, которое вы начали загружать, может исчезнуть во время загрузки, поэтому вашему узлу необходимо постоянно следить за сетью, пытаясь собрать все последние данные.Но пока вы на самом деле не соберете все данные, ваш локальный узел нельзя будет использовать, поскольку он не может криптографически доказать что-либо о каких-либо учетных записях.
Если вы видите, что у вас 64 блока позади основной сети, значит, вы еще не синхронизированы, даже близко. Вы только что закончили фазу загрузки блока и по-прежнему выполняете загрузку состояния. Вы можете убедиться в этом сами по кажущемуся бесконечным импортированных записей состояния [...]
потока журналов. Вам тоже придется подождать, пока ваш узел действительно подключится к сети.
Q: Узел просто зависает при импорте объектов состояния ?!
A : Узел не зависает, он просто не знает заранее, насколько велико дерево состояний, поэтому он продолжает работать, работать и продолжать, пока не обнаружит и не загрузит все.
Причина в том, что блок в Ethereum содержит только корень состояния, единственный хэш корневого узла. Когда узел начинает синхронизацию, он знает ровно об 1 узле и пытается его загрузить.Этот узел может относиться к 16 новым узлам, поэтому на следующем шаге мы узнаем о 16 новых узлах и попытаемся их загрузить. По мере загрузки большинство узлов будут ссылаться на новые, о которых мы не знали до того момента. Вот почему у вас может возникнуть соблазн подумать, что он застрял на тех же цифрах. Это не так, скорее, это обнаружение и загрузка дерева по мере его продвижения.
Q: Я застрял на 64 блоках позади основной сети ?!
A: Как объяснено выше, вы не застряли, а только закончили фазу загрузки блока, ожидая завершения фазы загрузки состояния.Этот последний этап в настоящее время занимает намного больше времени, чем просто получение блоков.
Q: Почему загрузка состояния занимает так много времени, у меня хорошая пропускная способность?
A: Синхронизация состояния в основном ограничивается дисковым вводом-выводом, а не полосой пропускания.
Дерево состояний в Ethereum содержит сотни миллионов узлов, большинство из которых имеют форму одного хэша, ссылающегося на до 16 других хэшей. Это ужасный способ хранения данных на диске, потому что в нем почти нет структуры, только случайные числа, ссылающиеся на еще большее количество случайных чисел.Это заставляет любую базовую базу данных плакать, поскольку она не может оптимизировать хранение и поиск данных каким-либо значимым образом.
Мало того, что хранение данных очень неоптимально, но из-за изменения 200 в секунду и удаления прошлых данных мы даже не можем загрузить его, это правильно предварительно обработанный способ ускорить его импорт без слишком частого перетасовки базовой базы данных . Конечным результатом является то, что даже быстрая синхронизация в настоящее время влечет за собой огромные затраты на ввод-вывод диска, что слишком много для механического жесткого диска.
Q: Подождите, а я не могу запустить полный узел на жестком диске?
A: К сожалению, нет. Выполнение быстрой синхронизации на жестком диске займет больше времени, чем вы готовы ждать с текущей схемой данных. Даже если вы подождете, жесткий диск не сможет удовлетворить требования чтения / записи обработки транзакций в основной сети.
Однако у вас должна быть возможность запускать легкий клиент на жестком диске с минимальным влиянием на системные ресурсы. Однако, если вы хотите запустить полный узел, единственный вариант — SSD.
Q: Когда я пытаюсь использовать флаг командной строки –password, я получаю сообщение об ошибке «Не удалось расшифровать ключ с данной парольной фразой», но пароль правильный. Почему появляется эта ошибка?
A: Особенно, если файл паролей был создан в Windows, он может иметь метку порядка байтов или другую специальную кодировку, которую клиент go-ethereum в настоящее время не распознает. Вы можете изменить это поведение с помощью команды PowerShell, например echo "mypasswordhere" | out-file test.txt в кодировке ASCII
. Дополнительные сведения и / или любые обновления по более надежной обработке можно найти на https://github.com/ethereum/go-ethereum/issues/19905.
Устранение ошибки синхронизации — Ledger Support
Ошибка синхронизации может возникать в Ledger Live, когда есть или была временная проблема с обозревателями блокчейнов Ledger. Эту проблему можно решить, сначала обновив Ledger Live до последней версии, а затем очистив кеш после восстановления службы .
Исследователи блокчейнов Ledger — это полные узлы, которые проверяют, хранят и индексируют все транзакции в различных сетях блокчейнов. Ledger Live рассчитывает баланс для каждой из ваших учетных записей, запрашивая историю транзакций у исследователей блокчейна.
Ваши монеты все еще в безопасности?Да, ваши монеты остаются в безопасности. Во время ошибки синхронизации Ledger Live не может использоваться для управления вашими монетами. Ваши монеты в безопасности в блокчейне, а ваши личные ключи надежно хранятся на вашем устройстве Ledger.Вы также можете использовать другие кошельки со своим устройством Ledger.
Выявление ошибки синхронизации
- Следующие коды ошибок указывают на ошибку синхронизации.
- Ошибка синхронизации
- HTTP API 503
- HTTP API 500
- 503 услуга недоступна
- Посмотрите, какой криптоактив имеет ошибку синхронизации, перейдя на страницу Аккаунты :
.
Попробуйте выполнить синхронизацию после восстановления службы
- Убедитесь, что вы используете последнюю версию Ledger Live.
- Подтвердите на status.ledger.com или в Твиттере, что услуга восстановлена.
- Нажмите кнопку Synchronize в Ledger Live, чтобы увидеть, устранена ли ошибка синхронизации.
- Если проблема не исчезнет, очистите кеш, как описано ниже.
Очистить кеш
Это будет работать, только если сетевая служба была восстановлена.
- Перейдите к настройкам в Ledger Live, щелкнув значок шестеренки в правом верхнем углу.
- Перейдите на вкладку Справка .
- Нажмите Очистить кеш кнопку .
- Щелкните Подтвердите в появившемся окне.
Все еще не решено?
- Будьте уверены, ваши крипто-активы останутся в безопасности во время временного отключения обозревателя цепочки блоков Ledger.
- Ваши монеты хранятся в сети блокчейн, и закрытые ключи, обеспечивающие доступ к вашим монетам, остаются в безопасности на вашем устройстве Ledger.
- Вы всегда можете использовать внешний кошелек со своим устройством Ledger. Ознакомьтесь с нашим списком поддерживаемых криптоактивов. Например, вы можете использовать Electrum для биткойнов или MyEtherWallet для Ethereum.
Разработчики Ethereum исправляют программное обеспечение после сбоя обновления в Берлине
Вкратце
- Программные клиенты Ethereum оценивают определенную транзакцию по-разному.
- Проблема превратилась в снежный ком.
Рано утром в четверг блокчейн Ethereum подвергся обновлению сети.Очень быстро стало ясно, что что-то не так.
Всего 294 блока в берлинском хард-форке, произошла ошибка консенсуса с одним из программных клиентов, Open Ethereum, и узлы не синхронизировались с блокчейном. Это означает, что любой, кто запускал этот клиент — 12% всех узлов Ethereum — по сути, не мог использовать блокчейн, пока ошибка не была исправлена. Проблема даже привела к отключению обозревателя блоков Etherscan.
Эта проблема теперь исправлена, по словам разработчиков Open Ethereum, второго по величине программного клиента после Geth.Пользователи Ethereum могут использовать любое количество клиентов, в том числе Geth и Parity Ethereum, чтобы фактически подключиться к блокчейну. Это очень примерно аналогично тому, как выбирать между разными веб-браузерами для выхода в Интернет — все они, по сути, делают одно и то же по-разному. Однако в этом случае, когда клиенты Ethereum не соглашаются по некоторым основам, весь блокчейн подвергается повышенному риску атаки.
Проблема была связана с транзакцией, относящейся к смарт-контракту, который еще не существует, но планируется обновить в будущем.Генеральный директор Gnosis и участник сети Мартин Кеппельманн написал сегодня в Твиттере: «Таким образом, @OpenEthereumOrg обработал цены на газ для этой транзакции несколько некорректно, что вызвало все последующие проблемы (блокировка была отклонена как недействительная)».
Другими словами, программное обеспечение Open Ethereum оценивало одну транзакцию иначе, чем другие программные клиенты. Это привело к тому, что клиент Open Ethereum (но не другие) отклонил целый блок, полный транзакций, и в этот момент цепочка блоков перестала синхронизироваться.
В результате биржи, такие как BitStamp и (недавно публичная) Coinbase, отключили вывод токенов ETH и ERC20, которые проходят через сеть Ethereum.
По словам Мариуса Ван Дер Вейдена, разработчика Go Ethereum (который помог решить проблему), ошибка была достаточно неясной, поэтому проблема никогда не возникала, пока это последнее обновление все еще тестировалось.
Кеппельманн писал: «После установки обновлений узлы [Open Ethereum] должны иметь возможность повторно синхронизироваться без каких-либо проблем (например.г. не требуется повторная синхронизация от генезиса или ручное удаление блока) ».
Перевод: Теперь все круто. Кризис предотвращен.
Teku и Infura объединились, чтобы сделать самую быструю клиентскую синхронизацию Ethereum 2.0
Команды Infura и Teku объединились, чтобы создать потрясающую функцию для Ethereum 2.0, которая значительно сокращает время, необходимое для синхронизации клиентов Eth3, необходимых для проверки на Proof of Stake Ethereum. В этой статье мы рассмотрим, почему это важно, как это работает и как это будет способствовать устойчивости сети для Ethereum 2.0 Цепочка маяков и не только.
Время синхронизации
Сеть Beacon успешно работает уже полгода, и по мере ее развития мы ищем новые способы сделать ее лучше и сильнее. Один из этих способов связан с временем начальной синхронизации клиента. Под начальным временем синхронизации понимается время, которое требуется клиенту, чтобы найти одноранговые узлы в сети и загрузить историческую сетевую активность. После того, как новый клиент загрузит и обработает эти данные, он получит точное представление о сети и сможет начать обработку новых блоков.
Может показаться необычным, что какие-либо исторические данные вообще генерируются в цепочке Beacon. В конце концов, никаких транзакций не отправляется. Однако цепочка Beacon генерирует информацию: активность валидатора. Активации валидатора, аттестации, предложения, косые черты — все это увеличивает объем данных, передаваемых цепочкой маяков.
Время синхронизации цепочки Beacon не так сложно, как полная синхронизация Ethereum 1.0, но для синхронизации нового клиента все же может потребоваться несколько часов, а иногда и дней.Барселонский суперкомпьютерный центр опубликовал документ, в котором рассматривается время синхронизации для всех клиентов Ethereum 2.0. Схема из их статьи приведена ниже:
Цепная синхронизация может занять значительное время на Ethereum 2.0 (источник). Однако в Teku -initial-state это постоянно увеличивающееся время сокращается до нескольких минут. Как показано на диаграмме, традиционное время синхронизации будет тем больше, чем больше будет расти цепочка. Тем не менее, Teku --initial-state
сокращает это постоянно увеличивающееся время до простых минут.Как это возможно?
Доработка и слабая субъективность
Механизм консенсусаEthereum 2.0, Proof of Stake, предлагает особое преимущество для синхронизации: окончательность. Когда цепочка Beacon завершает эпоху, она делает снимок всей активности и баланса в сети. Этот снимок, называемый контрольной точкой, может также быть его собственным генезисным блоком. Сеть не вернется.
Тем не менее, в конечном итоге есть слабая сторона безопасности. Из документации Teku:
Если ⅓ валидаторов снимут свою долю и продолжат подписывать блоки и подтверждения, они могут сформировать цепочку, которая конфликтует с завершенным состоянием.Если ваш узел находится достаточно далеко за головой цепочки, чтобы не знать, что они сняли свои средства, вышедшие валидаторы могут обманом заставить вас следовать неправильной цепочке.
Валидаторы с хорошим поведением, которые успешно и правильно вышли из цепочки, могут продать свои закрытые ключи на черном рынке злоумышленнику. (У них нет финансовых препятствий для этого, поскольку их средства благополучно вышли из протокола). Затем этот злоумышленник может собрать достаточно ключей, чтобы через некоторое время найти валидаторов, которые вернутся в сеть и совершить атаку Сибиллы.См. Отличное объяснение Мередит Бакстер ниже:
Какое решение? Контрольные точки слабой субъективности. Это указатели на относительно недавнее состояние сети, подтвержденное большинством активных валидаторов. Если узел с относительно скудной сетевой информацией хочет синхронизироваться с цепочкой маяка, он может начать с блока генезиса и контрольной точки слабой субъективности. По мере того, как узел связывается с другими узлами, они могут проверить, не сбились ли они с пути, убедившись, что в конечном итоге они имеют правильное состояние сети, отраженное в контрольных точках слабой субъективности.
Для получения дополнительной информации о контрольных точках слабой субъективности см. Полную демонстрацию Мередит Бакстер. или прочтите тред Алекса Стоукса в Твиттере.
Клиент Teku использовал слабые точки проверки субъективности, чтобы безопасно ускорить процесс синхронизации нового клиента. У Teku есть флаг --initial-state
, который принимает недавнее состояние сети, сгенерированное в диапазоне контрольных точек слабой субъективности. Вы можете увидеть это в действии в видео Адриана Саттона в верхней части этой статьи или в полной демонстрации Мередит Бакстер здесь.
Но где взять эти контрольно-пропускные пункты? Если у вас уже есть синхронизированный клиент и вы выполняете миграцию, вы можете создать свой собственный. Но как насчет новичков, где мы обеспечиваем это состояние безопасно и масштабно? Вот тут-то и появляется Infura.
Предложения Infura Ethereum 2.0
Infura предлагает своим пользователям бесплатные API-интерфейсы Ethereum 2.0, которые в сочетании с опцией Teku --intial-state
позволяют практически мгновенно выполнить полную синхронизацию нового клиента. Мы пройдемся по шагам, чтобы показать, как это работает.
Во-первых, зарегистрируйте бесплатную учетную запись Infura. Infura предлагает многоуровневую систему для клиентов, которым требуются расширенные функции, но бесплатная учетная запись отлично подходит для людей, использующих один валидатор.
Затем щелкните значок Eth3 в левом меню на панели инструментов и выберите «Новый проект», обведенный красным ниже:
Создайте имя проекта и скопируйте предоставленную конечную точку HTTP. Обратите внимание, что Infura также предоставляет конечные точки не только для основной сети Eth3, но и для тестовых сетей! Смотрите скриншот ниже:
Затем убедитесь, что Teku правильно установлен и настроен на вашем компьютере.Мы собираемся запустить Teku с флагом –initial-state, указывающим нашу конечную точку Infura Eth3 API, в частности «получить состояние» в / eth / v1 / debug / beacon / states / finalized. Собирая все вместе, вся наша конечная точка Infura API выглядит так:
https: // INFURA_PROJECT_ID: [электронная почта защищена] / eth / v1 / debug / beacon / states / finalized
Когда все будет готово, вы можете запустить свой клиент Teku с помощью:
teku --network [MAINNET / TESTNET_NAME] --initial-state https: // INFURA_PROJECT_ID: [email protected] / eth / v1 / debug / beacon / states / finalized
Teku загрузит последнюю завершенную контрольную точку, а затем будет искать пиров.Teku будет проверять связь с каждым обнаруженным одноранговым узлом, чтобы убедиться, что завершенная контрольная точка, предоставленная Infura, считается правильной. Одноранговые узлы, которые не согласны с этой завершенной контрольной точкой, будут отключены. Ранним признаком того, что начальное состояние является неправильным, являются трудности с поиском одноранговых узлов для подключения. После проверки достаточного количества одноранговых узлов Teku может загрузить остальную часть цепочки и быстро подключиться к ней для полной синхронизации.
Еще одна приятная особенность заключается в том, что если вы перезапустите синхронизированный клиент Teku с флагом --initial-state
, если Teku поймет, что у него есть база данных, он не перезапустит процесс синхронизации и пропустит флаг.(Это замечательно, если вы настроили его как службу демона, работающую и перезапускающуюся самостоятельно.)
Те, кто обеспокоен тем, что Infura предоставляет финальное состояние, должны знать, что сеть Ethereum 2.0 обеспечивает защиту. В частности, хеширование корневого блока позволяет нам проверить начальное состояние, которое мы получаем от Infura, но наш клиент все равно может быть введен в заблуждение посредством атаки Sybil, организовав большую настройку одноранговых узлов, с которыми он будет соединяться, которые имеют такое же неправильное состояние. Чтобы избежать этого, вы должны сравнить хэш контрольной точки начального состояния, предоставленный Infura (или корень главного блока после синхронизации), с обозревателем общедоступных блоков или другим источником для двойной проверки.
Итог: каждый должен всегда проверять, что он попал в правильную цепочку, независимо от того, как они синхронизируются.
Следующие шаги
Использование финальной версии и слабых контрольных точек субъективности станет только более важным для пользовательского опыта и безопасности по мере приближения к слиянию Eth2 / Eth3, а состояние сети продолжает расти. Несмотря на то, что время синхронизации будет увеличиваться с увеличением размера состояния сети, время запуска контрольной точки останется относительно стабильным.
Попробуйте сами и поделитесь с нами своим мнением!
Coinbase, Ledger и другие криптосервисы, затронутые проблемой синхронизации клиентов после хард-форка Ethereum в Берлине
ОБНОВЛЕНИЕ: Команда OpenEthereum заявила, что выявила и применила исправление проблемы, согласно заявлению в Twitter.
Etherscan сообщил, что тестирует исправление, хотя на момент обновления веб-сайт службы все еще показывает сообщение об ошибке синхронизации.
Последнее обновление сети Ethereum, Берлин, было запущено в четверг утром. Но проблема с синхронизацией, похоже, встревожила ряд компаний и сервисов, которые полагаются на конкретный программный клиент Ethereum, включая обменный сервис Coinbase.
Рассматриваемый клиент — OpenEthereum, ранее программный клиент, поддерживаемый Parity.Согласно заявлению поставщика услуг данных Etherscan, разработчики как OpenEthereum, так и основная группа разработчиков сети работают над исправлением.
«Команда OpenEthereum и основные разработчики знают о проблемах синхронизации, с которыми сталкивается клиент OE [OpenEthereum], и работают над их диагностикой и исправлением», — говорится в сообщении Etherscan, размещенном на его веб-сайте.
Проблема синхронизации возникла в блоке 12 244 294, вскоре после того, как Берлин начал работу в блоке номер 12 244 000, согласно Etherscan.
Между тем, основные службы, которые, по всей видимости, столкнулись с проблемой синхронизации, сделали заявления о возможных сбоях в свете этой проблемы.
«Мы отключили вывод средств ETH и ERC-20, пока исследуем потенциальную проблему с недавним обновлением сети. Получение также будет отложено», — говорится на странице состояния Coinbase на момент публикации.
Ledger заявила, что баланс ETH ее пользователей в приложении Ledger Live может не обновиться из-за проблемы с обновлением в Берлине, и новые транзакции не будут отображаться.
Услуги других фирм, включая BitGo и Coin Metrics, также пострадали.
В своем твите команда Gnosis сообщила, что «[t] у основного сетевого приложения Gnosis Safe могут возникнуть некоторые проблемы, связанные с сегодняшним хардфорком Ethereum». Gnosis поддерживает клиент OpenEthereum с тех пор, как Parity прекратил работу над клиентом в 2019 году.
Berlin — пятое обновление сети в истории Ethereum после Стамбула в декабре 2019 года.