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 дня. Процесс подразумевает точно такое же выполнение всех транзакций и валидаций, как при обычной работе ноды, включая валидацию подписей, балансов и пр.

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

          1. Загрузите бинарный файл (например, mainnet_last для Mainnet) по одной из ссылок ниже:

            Mainnet: http://blockchain.wavesnodes.com/

            Testnet: http://blockchain-testnet.wavesnodes.com/

            Stagenet: http://blockchain-stagenet.wavesnodes.com/

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

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

            Консольная команда для Linux

            sudo rm -rdf /var/lib/waves/data.

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

            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.

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

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

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

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

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

          2. Удалите содержимое каталога, где хранится база данных ноды.

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

            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
          Загрузить актуальный блокчейн