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
  • Нода
    • Лизинг
      Лизинг
    • Доход генератора блока
      Доход генератора блока
    • Монетарная политика
      Монетарная политика
    Нода
  • Блок
    • Генерация блока
      • Базовая цель
        Базовая цель
      • [en] Generation signature
        [en] Generation signature
      Генерация блока
    • Высота блока
      Высота блока
    • Подпись блока
      Подпись блока
    • Временная метка блока
      Временная метка блока
    • Корневой хеш транзакций
      Корневой хеш транзакций
    • Блок генезиса
      Блок генезиса
    Блок
  • Оракул
    Оракул
  • Протоколы и форматы данных
    • [en] Cryptographic practical details
      [en] Cryptographic practical details
    • [en] Waves-NG solution
      [en] Waves-NG solution
    • Протокол Waves-NG
      Протокол Waves-NG
    • Честный Proof of Stake
      Честный Proof of Stake
    • Типы данных блокчейна
      Типы данных блокчейна
    • Бинарные форматы
      • Бинарный формат адреса
        Бинарный формат адреса
      • Бинарный формат псевдонима
        Бинарный формат псевдонима
      • Бинарный формат блока
        Бинарный формат блока
      • [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
        • Архитектура ноды
        • Валидирующая нода
        • Генерирующая нода
        • Доход генератора блока
        • Приложения
        • Нода Scala и нода Go
      waves_logo Docs

          # Нода Waves

          Нода — это хост в сети блокчейна. Ноды хранят копию блокчейна, валидируют транзакции и блоки и синхронизируют данные между собой. Благодаря работе сотен независимых нод блокчейн является децентрализованным — никто не имеет единоличного контроля над сетью и возможности манипулировать данными.

          Waves — публичный блокчейн: запустить собственную ноду и присоединиться к сети может любой желающий. Установить и запустить приложение Waves можно на обычном компьютере. Способы установки приведены в разделе Установить ноду Waves.

          # Архитектура ноды

          Основные компоненты ноды Waves:

          • Сетевой уровень — обеспечивает взаимодействие с другими нодами сети блокчейна.
          • Валидатор — проверяет транзакции и блоки на соответствие правилам блокчейна.
          • База данных — хранит проверенные и подтвержденные транзакции и блоки, а также текущее состояние блокчейна: балансы аккаунтов, записи в хранилищах данных, установленные скрипты и др.
          • UTX-пул — содержит неподтвержденные транзакции до момента их добавления в блок.
          • Генератор — отвечает за формирование блоков.
          • Node REST API — интерфейс для получения данных блокчейна, отправки транзакций на блокчейн и др. Подробнее в разделе REST API ноды.

          # Валидирующая нода

          Любая нода Waves, независимо от баланса, является валидирующей. Она проверяет транзакции и блоки, полученные от других нод, на соответствие правилам блокчейна. Невалидные транзакции и блоки отбрасываются.

          Нода также может предлагать новые транзакции, которые будут распространяться в сети, пока не будут добавлены в блок или отброшены.

          # Генерирующая нода

          Нода с генерирующим балансом от 1000 WAVES может принять участие в добавлении новых блоков на блокчейн и получать вознаграждение. В соответствии с алгоритмом Leased Proof of Stake (LPoS), шанс ноды на генерацию блока пропорционален ее генерирующему балансу.

          Генерирующий баланс аккаунта — это баланс в токене WAVES c учетом лизинга, наименьший за последние 1000 блоков (подробнее о расчете генерирующего баланса). Механизм лизинга позволяет привлекать средства других пользователей для увеличения генерирующего баланса ноды, чтобы повысить частоту генерации блоков и, таким образом, получаемый доход. Подробнее о лизинге

          Список генерирующих нод в сети Waves, их балансы и статистика по блокам представлены на сайте dev.pywaves.org .

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

          Обратите внимание: нода с минимальным балансом 1000 WAVES генерирует лишь ~1 блок в месяц. Пользователям, не располагающим значительным количеством WAVES, рекомендуется для участия в генерации блоков не запускать собственную ноду, а сдавать WAVES в лизинг более высокопроизводительным генераторам.

          # Доход генератора блока

          Нода, которая добавила новый блок на блокчейн, получает вознаграждение:

          • Вознаграждение за блок за счет дополнительной эмиссии токена WAVES. Текущий размер вознаграждения — 6 WAVES, и он может быть увеличен или уменьшен голосованием генерирующих нод. Подробнее в разделе Монетарная политика, управляемая сообществом.
          • Комиссии за транзакции — нода получает 40% суммарной комиссии за транзакции в текущем блоке и 60% суммарной комиссии за транзакции в предыдущем блоке, в соответствии с протоколом Waves-NG.

          Более подробно расчет вознаграждения описан в статье Доход генератора блока.

          # Приложения

          Чтобы разработать и запустить децентрализованное приложение, запускать собственную ноду не требуется. Получать данные блокчейна или отправлять транзакции, подписанные пользователями, можно через API пула публичных нод.

          Однако запуск собственной ноды предоставляет разработчику дополнительные возможности:

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

          # Нода Scala и нода Go

          Нода Waves существует в двух вариантах реализации:

          • Нода Scala — основное приложение с максимальным набором функций.
          • Нода Go — альтернативное приложение с высокой скоростью работы, ориентированное на взаимодействие с gPRC-сервисами. Приложение находится в стадии разработки, использовать его в критически важных проектах пока не рекомендуется.

          Параллельная работа двух разных приложений делает сеть Waves менее уязвимой к ошибкам реализации протокола. Более подробно об отличии между двумя вариантами — в статье Нода на языке Go.

          Mainnet, Testnet, Stagenet
          Лизинг
          Mainnet, Testnet, Stagenet
          Лизинг