BTC 96279.2$
ETH 3324.6$
Tether (USDT) 1$
Toncoin (TON) 6.07$
telegram vk Х
telegram vk Х
Russian English
"

Интерфейс Rosetta API от Coinbase интегрирован в Cosmos SDK

Дата публикации:09.07.2021, 10:15
4228
4228
Поделись с друзьями!

Rosetta API, разработанный Coinbase, представляет собой открытый стандарт, предназначенный для упрощения развертывания блокчейна и взаимодействия с ним. Спецификации Rosetta API предлагают общий интерфейс для взаимодействия с блокчейнами разных типов.

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

Поддержка API  Rosetta в Cosmos (ATOM) была реализована для того, чтобы разработчики блокчейнов могли придерживаться или создавать прокси, который соответствует спецификациям Coinbase.

Как Rosetta облегает жизнь разработчика?

Rosetta - единственная поддерживаемая спецификация для взаимодействия с приложениями блокчейна, а Coinbase - одна из крупнейших бирж криптовалют в мире. Интеграция кошелька и биржи с Coinbase становится стандартом инфраструктуры блокчейнов. Архитектура Cosmos SDK делает возможной интеграцию Rosetta API, добавляя только одну строку кода.

Путем интеграции Rosetta API в ваше приложение блокчейна на Cosmos SDK биржи могут размещать вашу криптовалютную монету. Интеграция кошельков и других сервисов, которые полагаются на Rosetta API для взаимодействия с цепочкой, также выигрывают от ее интеграции. Если вы уже используете Rosetta API с любым другим блокчейном, вы найдете его особенно полезным и простым для интеграции с приложениями на основе Cosmos SDK.

Сложности интеграции

Интеграция Rosetta API в Cosmos SDK выявила интересные проблемы. В частности, спецификации Rosetta API ожидали, что реализация будет работать как блокчейн UTXO (неизрасходованный вывод транзакции). В блокчейнах на основе UTXO транзакции в каждом блоке содержат набор входов (полученных монет) и выходов (потраченных монет). В этом случае запрос учетной записи на заданной высоте X возвращает сумму входов и выходов ее адреса, которая вычисляется путем запроса входов и выходов транзакции этого адреса от блока 0 до блока X.

Переходы между состояниями для блокчейнов, запущенных с помощью Cosmos SDK, происходят на уровне транзакции, а также на этапах начального и конечного блоков. Из-за этой разницы запросы транзакций и вычисление потраченных монет не давали полного представления о фактических изменениях баланса и предложения. Во вселенной Cosmos SDK вознаграждения зарабатываются путем стекинга, а такие действия, как делегирование, добавляют дополнительные параметры к способам запроса балансов и поставок.

«Чтобы интегрировать Rosetta API в Cosmos SDK, мы изменили Cosmos SDK, чтобы генерировать события для каждого изменения поставки и баланса. Эти события генерируются независимо от того, где (какой обработчик какого модуля) и когда (DeliverTx, BeginBlock, EndBlock)», - пишут разработчики Cosmos.

Вторая задача заключалась в том, чтобы позволить Rosetta API поддерживать все приложения блокчейна и поддерживаемые ими сообщения.

«Поддержки только обычных действий, таких как отправка монет, делегирование и других, было недостаточно. Мы хотели, чтобы полный набор сообщений для всех приложений блокчейна Cosmos SDK можно было запрашивать и отправлять с помощью Rosetta API», - говорится в сообщении.

Что дальше?

Текущая реализация Rosetta API в Cosmos SDK поддерживает один блокчейн за раз и требует информации о времени компиляции (реестр интерфейса и кодек). Как всегда, в Cosmos SDK происходят постоянные разработки и усовершенствования функций. Планируется, что будущие реализации позволят отражать клиентов, которые способны создавать в реальном времени кодек и реестр интерфейсов.

«Мы все с нетерпением ждем возможности использовать конечные точки Rosetta API для запроса и одновременной записи txs в несколько цепочек во время выполнения, без необходимости использования кодеков для конкретных цепочек», - пишут разработчики.

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24