Установка и использование платформы
Инструментарий gRPC¶
Блокчейн-платформа Waves Enterprise предоставляет возможность взаимодействия с блокчейном при помощи gRPC-интерфейса.
gRPC - это высокопроизводительный фреймворк для удаленного вызова процедур (Remote Procedure Call, RPC), разработанный корпорацией Google. Фреймворк работает поверх HTTP/2. Для передачи данных между клиентом и сервером используется формат сериализации protobuf, описывающий применяемые типы данных.
Официально gRPC поддерживает 10 языков программирования. Список поддерживаемых языков доступен в официальной документации gRPC.
Предварительная настройка gRPC-интефейса¶
Перед использованием gRPC-интерфейса:
определитесь с языком программирования, который вы будете применять для взаимодействия с нодой;
установите фреймворк gRPC для вашего языка программирования в соответствии с официальной документацией gRPC;
скачайте и распакуйте пакет protobuf-файлов we-proto-x.x.x.zip для используемой вами версии платформы, а также плагин protoc для компиляции protobuf-файлов;
убедитесь, что gRPC-интерфейс запущен и настроен в конфигурационном файле ноды, с которой будет производиться обмен данными.
Для взаимодействия с нодой через gRPC-интерфейс по умолчанию предусмотрен порт 6865.
Для чего предназначен gRPC-интерфейс платформы¶
Вы можете использовать gRPC-интерфейс каждой ноды для следующих задач:
- gRPC: отслеживание событий в блокчейне
- gRPC: получение параметров конфигурации ноды
- gRPC: получение информации о транзакции по ее ID
- gRPC: получение информации о состоянии смарт-контракта
- gRPC: получение информации о размере UTX-пула
- gRPC: формирование и проверка электронной подписи данных (PKI)
- gRPC: реализация методов шифрования
- gRPC: отправка транзакций в блокчейн
Для каждой из этих задач предусмотрен собственный набор методов, упакованный в соответствующие protobuf-файлы. С детальным описанием каждого набора методов вы можете ознакомиться в статьях выше.
gRPC-методы ноды, в отличие от методов REST API, не требуют авторизации. Также все методы, упакованные в protobuf-файлы, размещенные в директории contract, доступны как для ноды, так и для смарт-контрактов. При использовании в смарт-контрактах эти методы требуют авторизации.