Java стек Cardano автоматизирует восстановление транзакций с помощью TxFlow
Cardano Client Lib добавляет переносимые планы транзакций, автоматическое связывание UTxO и устойчивое восстановление. Yaci Store и предварительный выпуск узла данных Yano расширяют тот же стек с акцентом на Java до задач индексирования и тестирования локальных сетей.
By SongMarketCap
Updated:
Cardano Community опубликовало 71 выпуск Developer Office Hours, где ведущий архитектор блокчейна Cardano Foundation Satya Ranjan представил новые инструменты для разработчиков на Java, создающих решения на Cardano.
Cardano Client Lib доступна как стабильный релиз 0.7.2, тогда как линия предварительных выпусков достигла 0.8.0-pre5. Новые компоненты нацелены на многошаговое выполнение, обработку откатов и более крупные нагрузки транзакций.
Cardano TxPlan переносит логику транзакций в YAML
Cardano Client Lib это чистый Java SDK, поддерживающий деривацию адресов, платежи, выпуск токенов, сценарии Plutus, стейкинг и операции управления. Ему не требуются нативные библиотеки, также он может работать с языками JVM, такими как Kotlin и Scala.
Новый слой TxPlan позволяет задавать инструкции транзакции в переносимых документах YAML или JSON вместо того, чтобы держать их целиком внутри кода приложения. План может описывать платежи, выпуск и взаимодействие со скриптами, при этом адреса, ключи подписи и ссылки на политики безопасно передаются во время выполнения.
Разработчики могут переиспользовать один и тот же план с разными получателями, учетными записями или параметрами токенов. Определение также можно сериализовать и сохранить, сохраняя информацию, необходимую для восстановления транзакции после отката или прерванного выполнения.
TxPlan подключается напрямую к конструктору QuickTx из Cardano Client Lib. Существующие средства составления транзакций и инфраструктура провайдеров остаются доступными, а повторяемые бизнес инструкции переходят в формат, который можно проверять и выполнять независимо.
TxFlow обрабатывает связывание, откаты и потоки транзакций
TxFlow координирует процессы, которым требуется несколько взаимозависимых транзакций блокчейна. Разработчик может определить шаги, такие как депозит, распределение и вывод средств, затем указать, какие выходы из более раннего шага должны финансировать следующий.
Движок поддерживает последовательную обработку, конвейерное связывание и параллельные пакеты. Режим конвейера позволяет более поздней транзакции потреблять выход, созданный ожидающей транзакцией, без ожидания отдельного подтверждения блока.
Требования к подтверждению, политики повторных попыток и восстановление после откатов настраиваются внутри потока. Это устраняет необходимость каждой команде приложений строить собственный слой мониторинга и повторной отправки.
TxFlowStream расширяет модель для непрерывных и высокообъемных рабочих нагрузок. Ranjan продемонстрировал ввод CSV и объяснил, что открытый поток также может принимать запросы через HTTP endpoint или внешний адаптер. Kafka не входит в библиотеку, но может подавать инструкции в поток извне.
Отдельные каналы позволяют разным финансирующим адресам обрабатывать транзакции параллельно при сохранении порядка первым пришел, первым ушел внутри каждого канала. Бизнес идентификаторы предотвращают повторное исполнение, а хранилища H2 и PostgreSQL позволяют возобновить обработку после перезапуска.
Демонстрации охватывали платежи ADA, выполнение сценариев Plutus, выпуск токенов и пакетные выплаты ADA. Они также включали автоматическое связывание UTxO и восстановление после имитированного сбоя.
Yano расширяет инфраструктуру тестирования Cardano на Java
В презентации также рассматривалась Yaci Store 3.0.0-beta3, следующая основная бета линейка модульного индексатора Cardano. Релиз расширяет API, совместимые с Blockfrost, и включает исправления для управления и Protocol Version 11, хотя полной совместимости с Blockfrost пока не достигнуто.
Yano расширяет стек Java в область узлов и инфраструктуры тестирования. Узел данных Cardano построен на Yaci и Cardano Client Lib, использует RocksDB для постоянного хранения и может работать как самостоятельное приложение Quarkus или как встраиваемая библиотека Java.
В составе Yaci DevKit Yano может инициализировать и продвигать локальную сеть Cardano, прежде чем передать производство блоков узлу Haskell cardano-node. Также доступен режим только Yano, когда разработчикам нужна легковесная среда для тестирования приложений и SDK.
Yano остается проектом предварительного выпуска и не предназначен для проверки в продуктивной среде. Ranjan также показал специфичные для приложения машины состояний, чьи корни Merkle можно привязывать к Cardano, но эта возможность остается экспериментальной.
Теперь у трех компонентов разные роли внутри стека Java. Cardano Client Lib определяет и выполняет транзакции, Yaci Store индексирует сетевые данные, а Yano предоставляет управляемую среду узла для тестирования. Команды Java могут заменить собственные службы откатов и ручную оркестрацию локального узла на многократно используемую инфраструктуру до того, как их приложения выйдут в продакшн.