Узел Cardano открывает встроенный UTxO RPC для разработчиков

Интерфейс передает типизированные данные цепи, оценивает транзакции и отслеживает новые блоки напрямую из cardano-node. Он дает приложениям Cardano стандартизированное подключение к узлу и снижает необходимость в отдельной мостовой инфраструктуре.

By SongMarketCap

Cardano News - Узел Cardano открывает встроенный UTxO RPC для разработчиков

cardano-node теперь может выдавать структурированные данные блокчейна через интегрированный gRPC интерфейс под названием cardano-rpc. Разработчики могут получать UTxO, оценивать и отправлять транзакции, а также получать в реальном времени обновления о блоках и откатах непосредственно от процесса узла.

Интерфейс развивается внутри узла начиная с версии 10.7.0. Документация, опубликованная 17 сентября, содержит примеры быстрого запуска для Go, Haskell, Python, Rust и TypeScript. Текущая конфигурация с gRPC reflection требует узла, собранного из ветки master на коммите e95d55e или более позднем.

Узел Cardano передает типизированные данные цепи

cardano-rpc по умолчанию отключен и может быть активирован через конфигурацию узла.

Его функции запросов возвращают параметры протокола, записи UTxO, информацию о генезисе и сводки по эрам. Функции отправки принимают и оценивают транзакции, а службы синхронизации предоставляют текущую вершину цепи и отдельные блоки.

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

Соединения могут работать через локальный Unix сокет или по TCP с TLS. Сервер также поддерживает gRPC reflection, что позволяет стандартным инструментам таким как grpcurl и grpcui обнаруживать и вызывать доступные сервисы.

Почему UTxO RPC важен для Cardano

Серверные части приложений часто используют дополнительный процесс, чтобы преобразовывать данные из протоколов Cardano node-to-client в форматы, подходящие для кошельков, бирж и децентрализованных приложений.

Встроенный слой RPC переносит часть этой работы в сам узел. Серверная часть может использовать типизированный интерфейс protobuf, чтобы читать состояние цепи, оценивать транзакции ADA и отправлять их без поддержки собственного адаптера для базовых операций узла.

cardano-rpc реализует открытую спецификацию UTxO RPC, созданную в рамках работы TxPipe в Catalyst Fund 11. Тот же интерфейс поддерживается инфраструктурой, связанной с Dolos, Blink Labs и Demeter, что позволяет совместимому клиентскому коду подключаться к разным серверам.

Реализация построена на cardano-api, который обрабатывает эры Cardano, данные CBOR, запросы к реестру и обработку транзакций. Поэтому изменения протокола, вводимые будущими хард форками, должны отражаться в слое RPC по мере разработки узла, что снижает риск отставания внешних интеграций от новой эры.

Для операторов инфраструктуры такая интеграция может убрать один процесс из развертываний, где сейчас используется отдельный мост. Команды разработки получают общий интерфейс для сервисов, работающих с ADA и нативными токенами Cardano.

Ограничения SDK и индексаторов сохраняются

Интерфейс RPC не заменяет все существующие компоненты инфраструктуры. Ogmios использует JSON-RPC, а не UTxO RPC, поэтому для миграции требуются изменения на стороне клиента. Kupo и другие индексаторы по-прежнему необходимы для поисковых задач, которые зависят от дополнительных индексов, охватывающих учетные данные, активы или историческую активность.

Совместимость SDK также неполная. Опубликованные провайдеры для MeshJS и Lucid Evolution все еще зависят от более старых пакетов, предоставляющих прежний API v1alpha. Поддержка нового интерфейса слита в спецификацию UTxO RPC, но соответствующий релиз пакета пока ожидается. Прямые примеры быстрого запуска и стандартные инструменты gRPC обеспечивают текущий путь доступа. Обновление спецификации UTxO RPC

Оценок производительности для продакшена в объявлении не было, а текущие развертывания Ogmios, Kupo и индексаторов остаются поддерживаемыми.

Немедленное изменение носит операционный характер: cardano-node теперь может передавать разобранные блоки и откаты, отвечать на запросы к реестру, а также оценивать и принимать транзакции через единый типизированный интерфейс. Следующая точка расширения это слой SDK, где обновленные пакеты UTxO RPC определят, насколько быстро этот доступ дойдет до обычной разработки приложений Cardano.