TxPipe готовит инфраструктуру Cardano на Rust к Leios
Pallas добавляет сетевые протоколы Leios и экспериментальную поддержку Dijkstra, что позволяет разработчикам на Rust тестировать интеграции с развивающимся обновлением Cardano.
By SongMarketCap
Updated:
TxPipe выпустила LeiosNotify и LeiosFetch вместе с начальными структурами реестра Dijkstra в Pallas 1.2.0 16 сентября. Эти дополнения дают командам на Rust инструменты для обмена данными Leios и работы с предлагаемыми форматами блоков. Компоненты Dijkstra остаются явно экспериментальными, доступны через флаг функции unstable.
Pallas приносит сетевые протоколы Leios в Rust
Pallas это набор библиотек на Rust для сетевого взаимодействия Cardano, криптографических операций и обработки данных блокчейна. Разработчики используют его для создания индексаторов, сервисов данных и других приложений, которые взаимодействуют с узлами Cardano.
Новые протоколы находятся в pallas-network2. LeiosNotify объявляет блоки эндорсеров и сообщает о доступных данных. LeiosFetch позволяет подключенным пирам запрашивать тела блоков, связанные транзакции и голоса.
Объединенная 30 июня перед включением в сентябрьский релиз, сетевая реализация была протестирована на ретрансляторе Musashi. Автор подтвердил успешное согласование протокола, получение тела блока эндорсера и прием встроенных голосов.
Извлечение транзакций имело отдельное ограничение: ретранслятор мог завершаться с ошибкой, когда запрошенные данные были недоступны. Пример приложения был скорректирован, чтобы запрашивать только те транзакции, которые ретранслятор предлагал, хотя этот путь остался неподтвержденным в описанном живом тесте, поскольку активность Leios отсутствовала.
Почему Pallas важен для обновления Leios в Cardano
Leios вводит блоки эндорсеров наряду с существующей структурой Praos в Cardano, чтобы увеличить пропускную способность транзакций. Поддержка этого изменения требует совместимого программного обеспечения во всех системах, которые извлекают и обрабатывают данные цепочки.
Анализ влияния от Input Output называет Pallas среди библиотек, затронутых Leios. Он также указывает Oura и Mithril как системы, использующие Pallas. Oura обрабатывает события цепочки, а официальная документация Mithril указывает Pallas как наблюдатель цепочки по умолчанию.
Необходимые изменения зависят от того, как каждое приложение подключается к сети. Сервисам, которые напрямую читают сетевые сообщения или блоки, нужны совместимые библиотеки и декодеры. Кошельки и dApps, которые получают доступ к Cardano через промежуточный API, могут сохранить свои текущие интерфейсы, когда поставщик обновит свой бэкенд.
Совместимость это лишь часть работы. Более высокая пропускная способность создает дополнительные требования к хранению, индексированию и обработке. Поэтому Input Output призывает к раннему тестированию при высокой нагрузке, что позволяет командам инфраструктуры выявить узкие места до развертывания.
Сетевая поддержка Pallas дает командам на Rust способ начать эту интеграционную работу с узлами, поддерживающими Leios. Внедрение и тестирование в производных продуктах остаются отдельными задачами.
Экспериментальная поддержка Dijkstra использует реальные блоки тестовой сети
Pallas 1.2.0 также представил структуры для блоков Dijkstra, заголовков, транзакций и связанных данных реестра. Они остаются за флагом unstable, поскольку спецификация кодирования этой эры все еще меняется.
В тестах использовались 13 блоков Dijkstra, записанных на Musashi, и один предшествующий блок Conway. Проверили, что данные можно декодировать и повторно кодировать без изменения байтов, что хеши заголовков совпадают с записями узла, и что декодер Dijkstra отклоняет блок Conway.
Дополнительные структуры были реализованы по спецификации без примеров в тех записанных блоках. Вводящий pull request также оставил общий многоэпохальный слой декодирования Pallas без изменений, что делает более широкую интеграцию отдельной задачей.
Версии 1.3.0 и 1.4.0 вышли 17 сентября с защитой от истощения стека при обработке глубоко вложенных данных и скриптов.
Для разработчиков, экспериментирующих с форматами Dijkstra, новые типы дают конкретную точку проверки: записанные блоки тестовой сети можно прочитать, реконструировать и сверить с их исходными хешами. Это дает интеграциям на Rust проверяемую основу, пока спецификация реестра продолжает развиваться.