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