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
        • Генерация клиента
        • Установка расширения на ноду
        • gRPC на публичных нодах
      waves_logo Docs

          # gRPC Server

          gRPC Server — расширение ноды, которое позволяет запускать gRPC -сервисы.

          gRPC-сервисы предоставляют информацию про:

          • аккаунты
          • блоки
          • блокчейн
          • токены
          • транзакции

          # Генерация клиента

          Для подключения к gRPC-сервисам используются клиенты, которые генерируются из proto-файлов .

          Пример использования gRPC-клиента, сгенерированного из .proto-файлов: Загрузка блоков на C# .

          Для создания TypeScript- или JavaScript-клиента рекомендуем использовать библиотеку node-api-grpc .

          # Установка расширения на ноду

          gRPC Server можно установить на ноду двумя способами: с помощью DEB-пакета и с помощью TGZ-архива.

          # Установка с помощью DEB-пакета

          1. Скачайте последнюю версию DEB-пакета со страницы Releases (секция Assets).

            Имя пакета с расширением:

            • для Mainnet grpc-server_{номер версии}_all.deb

            • для Testnet grpc-server-testnet_{номер версии}_all.deb

            • для Stagenet grpc-server-stagenet_{номер версии}_all.deb

          2. Установите пакет.

            Для Mainnet:

            sudo dpkg -i grpc-server_{номер версии}_all.deb
            

            Для Testnet:

            sudo dpkg -i grpc-server-testnet_{номер версии}_all.deb
            

            Для Stagenet:

            sudo dpkg -i grpc-server-stagenet_{номер версии}_all.deb
            
          3. Отредактируйте файл конфигурации ноды (см. раздел Конфигурация ноды). Для Mainnet файл конфигурации находится по адресу /etc/waves/waves.conf, для Testnet — /etc/waves-testnet/waves.conf, для Stagenet — /etc/waves-stagenet/waves.conf.

            3.1. Добавьте gRPC Server в секцию waves.extensions:

            waves {
               ...
               extensions = [
                  com.wavesplatform.api.grpc.GRPCServerExtension
               ]
            }
            

            3.2. Если требуется изменить порт для подключения клиента (по умолчанию 6870), добавьте настройку:

            waves {
               ...
               grpc {
                  port = 6877 # Укажите порт
            }
            
          4. Перезапустите ноду.

            Для Mainnet:

            sudo systemctl restart waves
            

            Для Testnet:

            sudo systemctl restart waves-testnet
            

            Для Stagenet:

            sudo systemctl start waves-stagenet
            

          # Установка с помощью TGZ-архива

          1. Скачайте TGZ-архив с расширением со страницы Releases (секция Assets) на GitHub.

            Имя TGZ-архива с расширением:

            • для Mainnet grpc-server-{номер версии}.tgz

            • для Testnet grpc-server-testnet-{номер версии}.tgz

            • для Stagenet grpc-server-stagenet-{номер версии}.tgz

          2. Распакуйте архив в папку с JAR-файлом ноды.

          3. Создайте новый файл конфигурации или откройте существующий (см. раздел Конфигурация ноды).

            3.1. Добавьте gRPC Server в секцию waves.extensions:

            waves {
               ...
               extensions = [
                  com.wavesplatform.api.grpc.GRPCServerExtension
               ]
            }
            

            3.2. Если требуется изменить порт для подключения клиента (по умолчанию 6870), добавьте настройку:

            waves {
               ...
               grpc {
                  port = 6877 # Укажите порт
            }
            
          4. Выполните команду:

            Для Mainnet:

            java -cp 'waves-all-{номер версии}.jar:grpc-server-{номер версии}/lib/*' com.wavesplatform.Application {имя файла конфигурации}.conf
            

            Для Testnet:

            java -cp 'waves-all-{номер версии}.jar:grpc-server-testnet-{номер версии}/lib/*' com.wavesplatform.Application {имя файла конфигурации}.conf
            

            Для Stagenet:

            java -cp 'waves-all-{номер версии}.jar:grpc-server-stagenet-{номер версии}/lib/*' com.wavesplatform.Application {имя файла конфигурации}.conf
            

            В Windows используйте ; вместо :, например:

            java -cp 'waves-all-{номер версии}.jar;grpc-server-{номер версии}/lib/*' com.wavesplatform.Application {имя файла конфигурации}.conf
            

          # gRPC на публичных нодах

          С целью ознакомления вы можете подключиться к общедоступным gRPC-сервисам, которые предоставляет команда Waves:

          • Mainnet: https://nodes.wavesnodes.com:6870
          • Testnet: https://nodes-testnet.wavesnodes.com:6870
          • Stagenet: https://nodes-stagenet.wavesnodes.com:6870

          Ограничения:

          • Количество одновременных запросов с одного IP-адреса — не более 5.
          • Количество запросов в секунду с одного IP-адреса — не более 20.
          Расширения
          Blockchain Updates
          Расширения
          Blockchain Updates