waves_logo Docs
  • Почему Waves
    Почему Waves
  • Основные понятия
    Основные понятия
  • Аккаунт
    • Создание аккаунта
      Создание аккаунта
    • Адрес
      Адрес
    • Баланс аккаунта
      Баланс аккаунта
    • Хранилище данных аккаунта
      Хранилище данных аккаунта
    • Псевдоним
      Псевдоним
    • dApp и смарт-аккаунт
      dApp и смарт-аккаунт
    Аккаунт
  • Токен (ассет)
    • NFT: невзаимозаменяемый токен
      NFT: невзаимозаменяемый токен
    • Смарт-ассет
      Смарт-ассет
    • ID токена
      ID токена
    • WAVES
      WAVES
    Токен (ассет)
  • Транзакция
    • Комиссия за транзакцию
      • Спонсирование комиссии
        Спонсирование комиссии
      Комиссия за транзакцию
    • Подпись и подтверждения
      Подпись и подтверждения
    • Типы транзакций
      • Вызов скрипта
        Вызов скрипта
      • Выпуск
        Выпуск
      • Генезис
        Генезис
      • Данные
        Данные
      • Довыпуск
        Довыпуск
      • Закрытие лизинга
        Закрытие лизинга
      • Лизинг
        Лизинг
      • Массовый перевод
        Массовый перевод
      • Обмен
        • Ордер
          Ордер
        Обмен
      • Обновление информации ассета
        Обновление информации ассета
      • Перевод
        Перевод
      • Сжигание токена
        Сжигание токена
      • Cоздание псевдонима
        Cоздание псевдонима
      • Спонсирование
        Спонсирование
      • Установка скрипта
        Установка скрипта
      • Установка скрипта ассета
        Установка скрипта ассета
      • Ethereum-like транзакция
        Ethereum-like транзакция
      Типы транзакций
    • Валидация транзакции
      Валидация транзакции
    Транзакция
  • Блок
    • Корневой хеш транзакций
      Корневой хеш транзакций
    • Блок генезиса
      Блок генезиса
    Блок
  • Нода
    • Лизинг
      Лизинг
    • Доход генератора блока
      Доход генератора блока
    • Монетарная политика
      Монетарная политика
    Нода
  • Mainnet, Testnet, Stagenet
    Mainnet, Testnet, Stagenet
  • Unit Zero
    Unit Zero
  • Оракул
    Оракул
  • Протоколы и форматы данных
    • [en] Cryptographic practical details
      [en] Cryptographic practical details
    • Leased Proof of Stake
      Leased Proof of Stake
    • [en] Waves-NG solution
      [en] Waves-NG solution
    • Протокол Waves-NG
      Протокол Waves-NG
    • Waves 1.5
      Waves 1.5
    • Типы данных блокчейна
      Типы данных блокчейна
    • Бинарные форматы
      • Бинарный формат адреса
        Бинарный формат адреса
      • Бинарный формат псевдонима
        Бинарный формат псевдонима
      • Бинарный формат блока
        Бинарный формат блока
      • [en] Network message binary format
        • [en] Block message binary format
          [en] Block message binary format
        • [en] Checkpoint message binary format
          [en] Checkpoint message binary format
        • [en] Get block message binary format
          [en] Get block message binary format
        • [en] Get peers message binary format
          [en] Get peers message binary format
        • [en] Get signatures message binary format
          [en] Get signatures message binary format
        • [en] Handshake message binary format
          [en] Handshake message binary format
        • [en] Peers message binary format
          [en] Peers message binary format
        • [en] Score message binary format
          [en] Score message binary format
        • [en] Signatures message binary format
          [en] Signatures message binary format
        • [en] Transaction message binary format
          [en] Transaction message binary format
        [en] Network message binary format
      • Бинарный формат ордера
        Бинарный формат ордера
      • Бинарный формат транзакции
        • Вызов скрипта
          Вызов скрипта
        • Выпуск
          Выпуск
        • Генезис
          Генезис
        • Данные
          Данные
        • Довыпуск
          Довыпуск
        • Лизинг
          Лизинг
        • Массовый перевод
          Массовый перевод
        • Обмен
          Обмен
        • Обновление информации ассета
          Обновление информации ассета
        • Отмена лизинга
          Отмена лизинга
        • Сжигание токена
          Сжигание токена
        • Cоздание псевдонима
          Cоздание псевдонима
        • Спонсирование
          Спонсирование
        • Перевод
          Перевод
        • Установка скрипта
          Установка скрипта
        • Установка скрипта ассета
          Установка скрипта ассета
        • Ethereum-like
          Ethereum-like
        Бинарный формат транзакции
      • Бинарный формат подтверждений
        Бинарный формат подтверждений
      Бинарные форматы
    • [en] Validation rules
      [en] Validation rules
    Протоколы и форматы данных
  • Термины
    Термины
      • English
      • Русский
      On this page
        • Версия 5
        • Версия 4
        • Версия 3
      waves_logo Docs

          # Бинарный формат блока

          Подробнее о блоке.

          Блоки хранятся на блокчейне в бинарном формате (байтовом представлении). Расширения ноды, в частности gRPC-сервер, могут работать непосредственно с данными в бинарном формате.

          # Версия 5

          Бинарный формат блока версии 5 соответствует protobuf-схеме block.proto . См. Protocol Buffers Developer Guide .

          Версия 5 появилась с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”.

          message Block {
              message Header {
                  message ChallengedHeader {
                      int64 base_target = 1;
                      bytes generation_signature = 2;
                      repeated uint32 feature_votes = 3;
                      int64 timestamp = 4;
                      bytes generator = 5;
                      int64 reward_vote = 6;
                      bytes state_hash = 7;
                      bytes header_signature = 8;
                  }
          
                  int32 chain_id = 1;
                  bytes reference = 2;
                  int64 base_target = 3;
                  bytes generation_signature = 4;
                  repeated uint32 feature_votes = 5;
                  int64 timestamp = 6;
                  int32 version = 7;
                  bytes generator = 8;
                  int64 reward_vote = 9;
                  bytes transactions_root = 10;
                  bytes state_hash = 11;
                  ChallengedHeader challenged_header = 12;
              }
           
              Header header = 1;
              bytes signature = 2;
              repeated SignedTransaction transactions = 3;
          }
          
          Поле Описание
          chain_id Байт сети
          reference • В первом блоке версии 5, то есть на высоте активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions” — signature предыдущего блока
          • В последующих блоках: хеш BLAKE2b-256 заголовка предыдущего блока
          base_target Базовая цель — переменная, используемая в алгоритме генерации блоков
          generation_signature Подпись генерирования — переменная, используемая в алгоритме генерации блоков (64 байта)
          feature_votes Список фич, за которые голосует генератор блока, см. раздел Фичи
          timestamp Временная метка блока: Unix-время в миллисекундах
          version Версия блока: 5
          generator Открытый ключ аккаунта генератора блока (32 байта)
          reward_vote Размер вознаграждения за блок, за который голосует генератор блока. Значение -1 означает, что генератор блока голосует за текущий размер вознаграждения
          transactions_root Корневой хеш транзакций блока (32 байта)
          signature Подпись заголовка блока (64 байта)
          transactions Для каждой транзакции:
          • Тело транзакции — до 165 487 байт
          • Подтверждения (proofs) — до 531 байта.
          См. раздел Бинарный формат транзакции
          state_hash Хеш изменений состояния блокчейна, порожденных транзакциями блока. Подробнее в разделе Waves 1.5: легкая нода.
          Поле доступно с момента активации фичи № 22 “Light Node”
          challenged_header Поля заголовка оспоренного блока, в случае если данный блок оспаривает другой. Подробнее в разделе Waves 1.5: легкая нода.
          Поле доступно с момента активации фичи № 22 “Light Node”

          # Версия 4

          Порядковый номер поля Поле Тип поля Размер поля в байтах Комментарии
          1 Версия блока Byte 1 Значение равно 4
          2 Временная метка блока Long 8 Unix-время в миллисекундах
          3 Подпись предыдущего блока Array[Byte] 64
          4 Базовая цель Long 8
          5 Подпись генерирования Array[Byte] 32
          6 Количество транзакций в блоке Integer 4
          7.1 Транзакция 1 Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты первой транзакции в бинарном формате
          7.2 Транзакция 2 Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты второй транзакции в бинарном формате
          ... ... ... ... ...
          7.[N] Транзакция N Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты N-й транзакции в бинарном формате
          8 Количество фич, за которые голосует генератор блока 4 Integer
          9.1 Фича 1 2 Short
          ... ... ... ... ...
          9.[M] Фича M 2 Short
          10 Размер вознаграждения за блок, за который голосует генератор блока 8 Long Значение -1 означает, что генератор блока голосует за текущий размер вознаграждения
          11 Открытый ключ аккаунта генератора блока 32 Array[Byte]
          12 Подпись блока 64 Array[Byte]

          # Версия 3

          Порядковый номер поля Поле Тип поля Размер поля в байтах Комментарии
          1 Версия блока Byte 1 Значение равно 3
          2 Временная метка блока Long 8 Unix-время в миллисекундах
          3 Подпись предыдущего блока Array[Byte] 64
          4 Базовая цель Long 8
          5 Подпись генерирования Array[Byte] 32
          6 Количество транзакций в блоке Integer 4
          7.1 Транзакция 1 Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты первой транзакции в бинарном формате
          7.2 Транзакция 2 Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты второй транзакции в бинарном формате
          ... ... ... ... ...
          7.[N] Транзакция N Array[Byte] Тело транзакции — до 165 996 байт
          Подтверждения (proofs) — до 531 байта
          Байты N-й транзакции в бинарном формате
          8 Открытый ключ аккаунта генератора блока Array[Byte] 32
          9 Подпись блока Array[Byte] 64
          Бинарный формат псевдонима
          [en] Network message binary format
          Бинарный формат псевдонима
          [en] Network message binary format