Cardano Foundationエンジニアがelm-cardano開発フレームワークのv1.0への道筋を説明

Mathieu PizenbergがCardano Developers Office Hoursでelm-cardanoの現状を発表し、トランザクション構築、Elmツール、開発者オンボーディング、フレームワークのより安定したリリースへの道筋を議論しました。

By SongMarketCap

Cardano News - Cardano Foundationエンジニアがelm-cardano開発フレームワークのv1.0への道筋を説明

Cardano Developers Office Hoursでは、Elmプログラミング言語とCardanoアプリケーション開発を連携させる開発フレームワークであるelm-cardanoのv1.0への道筋をテーマにした技術セッションが行われました。このセッションはFabian Bormannが主催し、Cardano FoundationのシニアソフトウェアエンジニアであるMathieu Pizenbergがプロジェクトの現状と、それが解決しようとしている開発ツールの課題について発表しました。

elm-cardanoは、強い型付け、高速なコンパイラフィードバック、安定性で知られる関数型プログラミング言語Elmを使用して、Cardanoフロントエンドアプリケーションやトランザクションツールを構築するためのフレームワークと位置付けられています。この議論では、フレームワークのトランザクションビルダー、その意図ベースの設計、ローカルUTXO処理、コイン選択、および元帳で既に利用可能な機能をCardano開発者がどのように活用できるかについて触れました。

elm-cardanoはCardanoフロントエンドとトランザクションツールに注力

Pizenbergは、このセッションの元々のアイデアはインタラクティブなトランザクションビルダーの作業から来ていると説明しました。この提案されたツールは、開発者がすぐに完全なアプリケーションを書いたりコマンドラインワークフローに頼ったりするのではなく、Webインターフェースを通じて様々なタイプのCardanoトランザクションを視覚的に構築できるようにすることを目的としています。

トランザクションビルダーの概念は、トークンの送信、NFTのミント、ステーキング報酬の引き出し、dAppsとのインタラクションなどのアクションをサポートするように設計されています。また、複数のアクションを1つのCardanoトランザクションに組み込むことも可能です。これはeUTXOモデルの実用的な機能の1つです。

Pizenbergによると、多くの開発者は特定のトランザクションパターンをテストするためのより迅速な方法を必要としています。すべての実験のために完全なJavaScriptアプリケーションをセットアップしたり、CLIワークフローを使用したりする代わりに、提案されたインターフェイスは、トランザクションの挙動を直接構築、検査、テストするための方法を提供します。

このプレゼンテーションでは、elm-cardanoがElmエコシステム全体でどのように位置付けられているかについても触れられました。Elmはフロントエンドアプリケーションのための安定した関数型言語と説明され、ランタイム例外の回避、依存リスクの削減、リファクタリングの安全性の向上に重点が置かれています。Pizenbergは、この言語がリリースサイクルが遅いにも関わらずアクティブであると述べ、その安定性がしばしば非活動的と誤解されることを付け加えました。

意図ベースのトランザクション構築でより柔軟なCardano開発を実現

セッションの主要部分は、elm-cardanoがトランザクション構築にどのようにアプローチしているかに焦点を当てました。Pizenbergはこのフレームワークを、トランザクションの台帳表現に近いところで作業することが多いJavaScriptライブラリでの一般的なトランザクションビルダーパターンと比較しました。

elm-cardanoは意図ベースのアプローチを使用します。開発者に各低レベルのトランザクションコンポーネントを手動で記述させるのではなく、トランザクションが何をすべきかを記述します。例えば、意図としては、資産をアドレスに送信する、定義済みのUTXOセットを使用する、特定の出力を作成する、または複数のアクションを1つのトランザクションに組み込むといったものがあります。

フレームワークはこれらの意図を処理し、有効なCardanoトランザクションを生成するために必要な技術要件を通じて作業します。Pizenbergはこれを、開発者の目標を最終的なトランザクションボディの低レベル構造から分離する方法として説明しました。

このプレゼンテーションでは、ローカルUTXO状態も取り上げられました。これにより、トランザクションビルダーが外部サービス(例: ブロックチェーンAPIプロバイダー)に直接依存するのではなく、開発者が提供する定義済みの出力セットで動作できるようになります。

この設計はまた、トランザクションの連鎖をサポートします。トランザクションがローカルで確定されると、その結果の状態を使用して、開発フロー中にオンチェーン確認を待つことなく別のトランザクションを構築することができます。これにより、開発者は制御された条件下で一連のトランザクションをテストできます。

さらにPizenbergはカスタマイズ可能なコイン選択についても議論しました。elm-cardanoには、デフォルトのアプローチとして「最大値優先選択」や「担保集中型選択」方法が含まれています。この担保の例は実用的な問題として提示され、開発者がPlutusトランザクションの担保として高価値のUTXOを選択することを一般的に望まないためです。

v1.0への道筋には、クリーンなAPI、テスト、より広範なCardano開発体験が含まれる

elm-cardanoのv1.0に向けた道筋には、フレームワークの中核構造と開発者向けAPIの作業が含まれています。Pizenbergは、プロジェクトの一部が約3年前に始まったと述べ、いくつかの初期設計の決定が、より安定したリリースの前に再検討される必要があると述べました。

議論された1つの分野は、特定のCardanoトランザクションを構築するために必要なマルチラウンドプロセスでした。トランザクション手数料はトランザクションサイズに依存し、トランザクションサイズはUTXO、リディーマー、またはPlutusスクリプト評価が追加されると変化するため、ビルダーは最終的な安定したトランザクションに到達する前に複数のラウンドを必要とする場合があります。

Pizenbergは、現在の実装では複数のビルドラウンドを手動で実行しているが、将来のバージョンでは、よりクリーンに安定した固定点を特定できるべきだと述べました。これにより、トランザクション状態がもはや変化しなくなった時点でフレームワークが再構築を停止できるようになります。

プレゼンテーションでは、リディーマーインデックスと出力位置付けも取り上げられました。これは、より高度なCardanoスマートコントラクトのインタラクションにおいて重要です。一部のスクリプトは特定の入力または出力インデックスに依存しており、トランザクションビルダーは、複数のプロトコル間で複雑なインタラクションを構成するために開発者が十分な制御を得られるようにする必要があります。

議論はより広範なCardano開発体験にも広がりました。Pizenbergは、多くのCardano機能がdAppsやツールによってまだ十分に活用されていないと述べました。また、プロトコルを構築する開発者には、問題を自分のアプリケーション内部でのみ解決するのではなく、使用するライブラリに修正や改善を提供するよう奨励しました。

Elm言語はAI支援開発の文脈でも議論されました。Pizenbergは、Elmのコンパイラフィードバックと強力なエラーメッセージが、LLMツールとの作業に役立つと指摘しました。正確なエラーは、モデルが問題を迅速に特定し修正するのを助けるからです。

elm-cardanoは現在、Cardanoプロジェクト全体で広く使用される実践的なフレームワークとして記述されているわけではありません。セッションでは、アクティブな技術的取り組み、実験的実装、そしてCardanoトランザクションツールが元帳の既存機能をより多く公開できる方法を示す参考点として提示されました。elm-cardanoの次のフェーズは、クリーンなAPI、改善されたトランザクションビルダの挙動、そして高度なCardanoトランザクションフローをテストする開発者向けにより安定したフレームワークに焦点を当てています。