TxPipeがCardanoのRustインフラをLeios向けに準備

PallasがLeiosのネットワークプロトコルと実験的なDijkstra対応を追加し、Rust開発者が進化中のCardanoのアップグレードとの統合をテストできるようにする。

By SongMarketCap

Updated:

Cardano News - TxPipeがCardanoのRustインフラをLeios向けに準備

TxPipeは9月16日にPallas 1.2.0でLeiosNotifyとLeiosFetch、ならびに初期のDijkstra台帳構造をリリースした。これらの追加により、RustチームはLeiosデータのやり取りや提案中のブロック形式の取り扱いに使えるツールを得た。Dijkstra関連のコンポーネントは明示的に実験的な扱いのままで、unstable機能フラグを通じて利用可能だ。

PallasがLeiosのネットワーキングをRustにもたらす

PallasはCardanoのネットワーキング、暗号処理、ブロックチェーンデータ処理のためのRustライブラリ群だ。開発者はこれを用いて、Cardanoノードと連携するインデクサやデータサービス、その他のアプリケーションを構築する。

新しいプロトコルはpallas-network2に含まれる。LeiosNotifyはエンドーサーブロックを告知し、利用可能なデータを提示する。LeiosFetchは接続されたピアがブロック本体、関連するトランザクション、および投票を要求できるようにする。

9月のリリースに取り込まれる前の6月30日にマージされたこのネットワーキング実装は、Musashiリレーに対してテストされた。著者は、プロトコルネゴシエーションの成功、エンドーサーブロック本体の取得、インライン投票の受信を確認した。

トランザクション取得には別の制約があった。要求されたデータが存在しない場合、リレーが失敗する可能性があったのだ。サンプルアプリケーションは、リレーが提示したトランザクションのみを要求するように調整されたが、報告された実地テストではLeiosの活動が休止していたため、その経路は未確認のままだった。

CardanoのLeiosアップグレードにPallasが重要な理由

Leiosはトランザクション処理能力を高めるため、Cardanoの既存のPraos構造に加えてエンドーサーブロックを導入する。その変更を支えるには、チェーンデータを取得し処理するシステム全体で互換性のあるソフトウェアが必要になる。

Input Outputの影響分析は、Leiosの影響を受けるライブラリの一つとしてPallasを挙げている。また、Pallasを利用するシステムとしてOuraとMithrilも名指ししている。Ouraはチェーンイベントを処理し、Mithrilの公式ドキュメントはPallasをデフォルトのチェーンオブザーバーとして挙げている。

必要な変更は、各アプリケーションがネットワークにどう接続しているかに依存する。ネットワークメッセージやブロックを直接読み取るサービスは、互換性のあるライブラリやデコーダーを必要とする。仲介のAPIを通じてCardanoにアクセスするウォレットやdAppsは、プロバイダーがバックエンドを更新すれば既存のインターフェースを維持できる可能性がある。

互換性は作業の一部にすぎない。スループットの向上は、追加のストレージやインデックス作成、処理の需要を生む。このためInput Outputは高負荷下での早期テストを提唱しており、デプロイ前にインフラチームがボトルネックを特定できるようにしている。

Pallasのネットワーキング対応により、RustチームはLeios対応ノードを相手に統合作業を開始できる。一方で、下流のプロダクトにおける採用とテストは別個の課題として残る。

実験的なDijkstra対応は実在のテストネットブロックを使用

Pallas 1.2.0は、Dijkstraのブロック、ヘッダー、トランザクション、および関連する台帳データの構造も導入した。該当する時代のエンコーディング仕様がまだ変化しているため、これらはunstableフラグの背後に留められている。

テストでは、Musashiで記録された13個のDijkstraブロックと、その直前のConwayブロックを1個使用した。データがバイト列を変えずにデコードおよび再エンコードできること、ヘッダーハッシュがノードの記録と一致すること、そしてDijkstraのデコーダーがConwayブロックを拒否することが確認された。

記録されたブロックに例が存在しない追加の構造も、仕様に基づいて実装された。導入したプルリクエストでは、Pallasの共有マルチエラデコーディングレイヤーは手を加えず、より広範な統合は別作業とされた。

9月17日には1.3.0と1.4.0が続き、深くネストしたデータやスクリプトを扱う際のスタック枯渇に対する保護策が追加された。

Dijkstraの形式を試す開発者にとって、新しい型は明確な検証ポイントを提供する。記録済みのテストネットブロックを読み取り、再構築し、元のハッシュと照合できるのだ。これにより、台帳仕様が進化を続けるあいだも、Rustによる統合にテスト可能な基盤が与えられる。