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

          # Импортировать и экспортировать блокчейн

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

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

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

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

          Примечание: Если в каталоге, где хранится база данных ноды, есть файлы, процесс импорта будет добавлять к ним данные из бинарного файла блокчейна. Рекомендуется перед импортом удалить файлы из каталога, чтобы избежать ошибок в результате смешивания данных разных версий. По умолчанию база данных находится в подкаталоге data основного каталога приложения (в частности, для ноды, установленной из DEB-пакета, — в каталоге /var/lib/waves/data).

          Для импорта блокчейна выполните следующие шаги:

          1. Остановите ноду с помощью команды: service waves stop.

          2. Выполните следующую команду:

            Windows

            java -cp waves-all-<version>.jar com.wavesplatform.Importer -c <configuration-file-name> -i <binary-file-name>

            Linux

            Mainnet: sudo -u waves waves import -c /etc/waves/waves.conf -i <binary-file-name>

            Testnet: sudo -u waves-testnet waves-testnet import -c /etc/waves-testnet/waves.conf -i <binary-file-name>

            macOS

            java -cp waves-all-<version>.jar com.wavesplatform.Importer -c <configuration-file-name> -i <binary-file-name>

          Используйте имя реального бинарного файла вместо binary-file-name. Например, введите mainnet_last для импорта актуального Mainnet блокчейна. См. имена других бинарных файлов для импорта по ссылкам ниже.

          Актуальные базы данных для загрузки (nodes.wavesnodes.com)

          • Mainnet: http://blockchain.wavesnodes.com/
          • Testnet: http://blockchain-testnet.wavesnodes.com/
          • Stagenet: http://blockchain-stagenet.wavesnodes.com/

          Примечание: Вы можете ускорить импорт на 5–20% на свой страх и риск. Для этого используйте опцию -no-verify параметра Importer, чтобы отключить проверку блока и транзакции. Используйте с осторожностью и только если вы доверяете файлу блокчейна.

          # Импорт блокчейна до заданной высоты

          Вы можете задать желаемую высоту импорта. Если параметр height не задан, будут импортированы все блоки.

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

          1. Остановите ноду с помощью команды: service waves stop.

          2. Выполните следующую команду:

            Windows

            java com.wavesplatform.Importer -c <configuration-file-name> -i <binary-file-name> -h <height>

            Linux

            Mainnet: sudo -u waves waves import -c /etc/waves/waves.conf -i <binary-file-name> -h <height>

            Testnet: sudo -u waves-testnet waves-testnet import -c /etc/waves-testnet/waves.conf -i <binary-file-name> -h <height>

            macOS

            java com.wavesplatform.Importer -c <configuration-file-name> -i <binary-file-name> -h <height>

          # Экспортировать блокчейн в бинарный файл

          Если у вас уже есть работающая нода с синхронизированным блокчейном, вы можете экспортировать свой блокчейн в бинарный файл. Экспорт — довольно быстрый процесс, но полученный бинарный файл может дополнительно потребовать до 1/3 размера базы данных.

          Для экспорта блокчейна, выполните следующие шаги:

          1. Остановите ноду с помощью команды: service waves stop.

          2. Выполните следующую команду:

            Windows

            java -cp waves-all-<version>.jar com.wavesplatform.Exporter -c <configuration-file-name> -o <output-file-name> -h <height>

            Linux

            Mainnet: sudo -u waves waves export -c /etc/waves/waves.conf -o <output-file-name> -h <height>

            Testnet: sudo -u waves-testnet waves-testnet export -c /etc/waves-testnet/waves.conf -o <output-file-name> -h <height>

            macOS

            java -cp waves-all-<version>.jar com.wavesplatform.Exporter -c <configuration-file-name> -o <output-file-name> -h <height>

          Параметр height позволяет задать максимальную высоту блоков при экспорте. Если параметр не задан, будут экспортированы все блоки.

          Имя файла экспорта (output-file-name) — необязательный параметр, по умолчанию используется blockchain. В результате экспорта файл с именем <output-file-name>-<height> будет создан в текущем каталоге с базой данных.

          Синхронизировать блокчейн Waves
          Загрузить актуальный блокчейн
          Синхронизировать блокчейн Waves
          Загрузить актуальный блокчейн