Dingo が三つの Cardano 適合テストスイートに合格
Blink Labs の Goベースのノードが、データデコード、トランザクション検証、Plutus スクリプト実行を網羅する共有テストで全件合格を記録
By SongMarketCap
Updated:
10月18日の報告によると、Dingo は Node Diversity Conformance プラットフォーム上の三つの機能スイートにわたる10,536件のテストケースすべてに合格した。これらの結果は、独立実装の Cardano ノードのレポートを現行のテストデータセットに整合させた、Blink Labs による10月17日の v0.85.0 リリースに続くものだ。
三つの機能スイートにおける Dingo の結果
最大のスイートは、Cardano がトランザクションとブロックのエンコードに用いるバイナリ形式である CBOR を対象とする。Dingo は9,200件すべてに合格し、有効な入力を正しく処理して期待される結果に再エンコードし、無効なデータを拒否した。
台帳検証はさらに277件を占める。各ケースは定義済みの初期状態、プロトコルパラメータ、レジャーのエラを指定している。Dingo は有効とマークされたトランザクションを受理し、無効とマークされたものを期待どおりの検証失敗で拒否した。
1,059件の UPLC テストベクタもすべて合格した。UPLC は Plutus スマートコントラクトがコンパイルされる言語である。この適合シナリオは、ADA で支払われるトランザクション手数料に影響する消費実行予算とは切り離して、実行結果を確認する。
四つのシナリオが同じ重み付けを受けるため、Dingo のプラットフォーム全体スコアは86.19%となった。第四のシナリオは実世界のスクリプトを用いた性能ベンチマークで、報告された10,000件のケースに対して44.77%の合格率を記録した。この数値は他ノードとの相対的な速度ではなく、当該ベンチマークの性能基準への適合度を測るものだ。
独立した Cardano ノードに向けた共有テスト
Go で開発された Dingo は、Ouroboros のネットワーキングとコンセンサス、レジャー検証、ブロックチェーンデータへのアプリケーションアクセスを扱う。確立された Haskell 製の cardano-node や Rust ベースの Amaru などのクライアントと並ぶ、別個に開発された実装を提供する。
これらの実装はネットワーク規則について合意していなければならない。ADA の送金やスマートコントラクトの実行は、どのクライアントが処理しても一貫した有効性の判定を受ける必要がある。トランザクションの受理や実行コスト計算の差異は、ブロックが有効かどうかの合意に影響し得る。
共有テストデータセットにより、各チームは同一の入力と期待される結果に対して挙動を確認できる。各プロジェクトは自前の継続的インテグレーションシステムでテストを実行し、レポートを公開する。Node Diversity Conformance はそれらを収集し、表示する。
各シナリオには、検証を繰り返すために必要なフィクスチャと手順が含まれている。そのためオペレーターや開発者は、同じテストケースを用いて報告された結果を再現し、相違を調査できる。
Dingo v0.85.0 は開発者向け API を拡充
このリリースは Blockfrost API と互換性のある Dingo のインターフェースも拡充し、履歴およびガバナンスのクエリに加えて、ウォレットや分散型アプリケーション向けのクエリを追加した。アプリケーションは使い慣れたリクエスト形式を用い、Dingo が基盤となるブロックチェーンデータを提供する。
そのほかの変更は、チェーン選択、Leios メッセージ処理、データストレージ、リソース管理に対応している。
Blink Labs は、メインネットでの本番ブロック生成には Dingo はまだ準備が整っていないとの見解を引き続き示している。開発者は、Preview、Preprod、Musashi、ローカル開発ネットワーク上の Dingo インスタンスに対して、ウォレットのアクティビティ、履歴記録、ガバナンスデータのクエリを含む拡張 API 操作をテストできる。