waves_logo Docs
  • Руководство владельца ноды
    Руководство владельца ноды
  • Установить ноду Waves
    • Развернуть ноду в Docker
      Развернуть ноду в Docker
    • Установить ноду на Ubuntu
      Установить ноду на Ubuntu
    • Установить ноду на macOS
      Установить ноду на macOS
    • Установить ноду на Windows
      Установить ноду на Windows
    • Установить из исходников (сборка SBT)
      Установить из исходников (сборка SBT)
    Установить ноду Waves
  • Синхронизировать блокчейн Waves
    • Импортировать и экспортировать блокчейн
      Импортировать и экспортировать блокчейн
    • Загрузить актуальный блокчейн
      Загрузить актуальный блокчейн
    • Откатить ноду
      Откатить ноду
    Синхронизировать блокчейн Waves
  • Генерировать блоки
    Генерировать блоки
  • Обновить ноду
    Обновить ноду
  • Конфигурация ноды
    Конфигурация ноды
  • Логирование
    Логирование
  • Кошелек ноды
    Кошелек ноды
  • Фичи
    • Протокол активации
      Протокол активации
    Фичи
  • Собственный блокчейн
    Собственный блокчейн
  • REST API ноды
    • API-ключ
      API-ключ
    • Работа с транзакциями
      Работа с транзакциями
    • Формат числовых полей
      Формат числовых полей
    • Постраничная выборка
      Постраничная выборка
    • CORS
      CORS
    • Ограничения пула публичных нод
      Ограничения пула публичных нод
    • Медленные запросы
      Медленные запросы
    • Коды ответов и ошибки
      Коды ответов и ошибки
    REST API ноды
  • Расширения
    • gRPC Server
      gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Расширения
  • Устранение неполадок
    • Генерация блока FAQ
      Генерация блока FAQ
    Устранение неполадок
  • Нода на языке Go
    Нода на языке Go
      • English
      • Русский
      On this page
        • Синхронизация блокчейна в обычном режиме работы ноды
        • Импорт блокчейна из бинарного файла
        • Загрузка актуального блокчейна
      waves_logo Docs

          # Синхронизировать блокчейн Waves

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

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

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

          • Импортируйте блокчейн из бинарного файла. Импорт занимает много времени и подразумевает точно такое же выполнение всех транзакций и валидаций, как при обычной работе ноды. Данный метод примерно на 10% быстрее, чем синхронизация блокчейна в обычном режиме работы ноды.

          • Загрузите и разверните актуальный блокчейн на вашей ноде. Это самый быстрый метод. В этом случае ваша нода пропустит длительный процесс выполнения транзакций и валидаций и будет использовать загруженный блокчейн «как есть». Загружайте блокчейн только из надёжных источников. Базы данных из неизвестных источников могут содержать неправильные данные или балансы.

          Важно: Полная синхронизация может занимать 1-3 дня и в основном зависит от частоты ЦПУ. Самый значительный процесс (верификация блоков) является однопоточным, поэтому высокочастотные процессоры обеспечат наилучшую производительность. Валидация подписей выполняется в несколько потоков, но её влияние на длительность синхронизации незначительна в сравнении с верификацией подписей. Другими словами, ЦПУ с 8 и 16 ядрами с одинаковой частотой выполнят синхронизацию почти за одинаковое время. Верификация блоков — это не линейный процесс. “Тяжелые” блоки требуют больше времени. "Тяжесть" определяется количеством и типом транзакций в блоке. Пустые блоки (например, первые 200 000) верифицируются гораздо быстрее, чем такое же количество блоков после одного миллиона блоков. Во время синхронизации блокчейна количество операций записи на диск может превышать максимальное количество операций ввода/вывода, поддерживаемое жестким диском. Это может привести к задержкам работы операционной системы из-за недостатка физической памяти. Команда Waves рекомендует использовать SSD и оставлять не менее 30% общей памяти для нужд операционной системы (кэш/буферы).

          # Синхронизация блокчейна в обычном режиме работы ноды

          Данный способ подразумевает запуск ноды с нуля. Подробное описание запуска ноды представлено в статье Установить ноду Waves.

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

          В данном случае на длительность синхронизации будут влиять следующие факторы:

          • пропускная способность интернет-канала и задержка сети (latency).
          • количество подключенных peer-нод.

          Первый зависит от интернет-провайдера, а второй от параметра max-outbound-connections. Команда Waves считает оптимальным значение 30 (по умолчанию). Скорость интернет-подключения не так сильно влияет на длительность процесса, как время, затраченное на верификацию блоков и подписей.

          # Импорт блокчейна из бинарного файла

          Чтобы ускорить процесс синхронизации примерно на 10%, можно импортировать блокчейн из бинарного файла. Бинарные файлы содержат цепочку блоков с транзакциями в проверяемом формате (включая первоначальный порядок всех транзакций с подписями и блоками, подписанными генераторами блоков). Импорт подразумевает точно такое же выполнение всех транзакций и валидаций, как при обычной работе ноды, включая валидацию подписей, балансов и пр. Если у вас уже есть работающая нода с синхронизированным блокчейном, вы можете экспортировать свой блокчейн в бинарный файл, чтобы импортировать его на другой ноде.

          Процесс импорта/экспорта подробно описан в статье Импортировать и экспортировать блокчейн.

          Внимание! Если ваша нода находится на форке с высотой более 2000 блоков, не экспортируйте/импортируйте свой блокчейн, а обновите ноду. Затем выполните шаги, описанные в секции Загрузка актуального блокчейна

          # Загрузка актуального блокчейна

          Можно загрузить готовую базу данных и развернуть её на своей ноде. В этом случае ваша нода будет использовать загруженный блокчейн «как есть» и пропустит длительный процесс выполнения транзакций и валидаций (подписей, балансов и пр.), который происходит при обычной работе ноды или при импорте блокчейна из бинарного файла. Процесс подробно описан в статье Загрузка актуального блокчейна.

          Установить из исходников (сборка SBT)
          Импортировать и экспортировать блокчейн
          Установить из исходников (сборка SBT)
          Импортировать и экспортировать блокчейн