IOGブログ, ニュース, ...

IOGブログ:Plutus Application Backend(PAB)、カルダノ上でのDApp開発をサポート

以下はIOGブログに掲載された記事「Plutus Application Backend (PAB): supporting DApp development on Cardano」を翻訳したものです。

Plutus Application Backend(PAB):カルダノ上でのDApp開発をサポート

PABは、開発者がDAppsを作成してテストし、本番環境にデプロイする前に、コンポーネントと環境を提供します。

By Fernando Sanchez Technical Writer 2021年10月28日

Plutus Application Backend (PAB): CardanoでのDApp開発をサポートします。

アロンゾ(Alonzo)プロトコルのアップグレードでは、Plutusを導入しました。Plutusは、ネイティブのスマートコントラクト言語を提供するプラットフォームで、カルダノ上でスマートコントラクトをサポートするために必要なインフラとツールを備えています。Plutusプラットフォームは、開発者が分散型台帳と対話するスクリプト機能を備えた分散型アプリケーション(DApps)を書くことを可能にします。

Plutusを理解するには、3つのコンセプトを認識する必要があります。

  • EUTXO(Extended Unspent Transaction Output)モデル
  • Plutus Core – Plutusの「オンチェーン」部分
  • Plutusアプリケーションフレームワーク(PAF) – Plutusコントラクトは、ブロックチェーン上で実行される部分(オンチェーンコード)と、ユーザーのマシン上で実行される部分(オフチェーンまたはクライアントコード)で構成されています。

オンチェーンコードもオフチェーンコードもHaskellで書かれており、Plutusのスマートコントラクトは実質的にHaskellのプログラムです。

Plutus Application Backend(PAB)とは?

前回のブログ記事では、Plutusのコアコンポーネントのオンチェーンとオフチェーンの機能について、より詳しく説明しました。ここでは、Plutusのオフチェーン機能をより深く掘り下げ、Plutus Application Backend(PAB)を見てみましょう。

UTXOモデルでは、アプリを動かすトランザクションを構築するオフチェーンのインフラがあります。このオフチェーン・インフラストラクチャは、元帳の状態を見て、元帳からいくつかの情報を取り出し、正しいデータを正しい場所に置いてトランザクションを構築するために、すべてをまとめる必要があるため、非常に複雑です。PABは、このオフチェーンのインフラとオンチェーンのスクリプトを簡単に書くことができる単一のHaskellライブラリです。

PABは、UTXOトランザクションの構築を2つの方法で支援します。

  • リードパス – つまり、チェーンから情報を得ることと、ブロックチェーン上で起こるイベントに反応することです。読み取りパスは、現在テストネットで動いています。
  • 書き込み経路 – Plutusのスクリプトを実行するトランザクションを実際に構築するところです。

PABの役割

PABはPlutus Application Framework(PAF)の重要なコンポーネントであり、開発者が本番環境に展開する前に、ローカルでDAppsを作成してテストすることができます。Marlowe Playgroundが開発者に金融スマートコントラクトの作成とテストのためのサンドボックスを提供しているように、PABは開発者に完全なDAppsの作成とテストのための同様の環境を提供します。

PABはオフチェーンのバックエンドサービスであり、アプリケーションインスタンスのライフサイクルを通じて、その要件を管理・処理します。これには、外部クライアント(ウォレットフロントエンドなど)とのやりとりも含まれ、Plutus Applications、ノード、ウォレットバックエンド、エンドユーザーの間の仲介役として機能します。このようなインタラクションは、PABコマンドとモックコンポーネントによって可能になり、DAppsの便利なシミュレーションと統合を実現します。

DAppの作成や実装に必須ではありませんが、一部の開発者は独自のツールを作成しており、実際にAPIベースの代替手段がコミュニティで検討されています。PABを利用することで、開発者はチェーンインデックスなどのインフラを一から作成する必要がなくなり、開発に必要な時間とリソースを削減することができます。また、開発者は、アプリケーションがチェーン上でどのように動作するかをシミュレートして事前にテストし、エラーを排除することができるため、ローンチに向けて完璧な移行を行うことができます。

PABの目的は以下の通りです。

  • Plutusアプリケーションが動作するための標準化された環境を提供する。
  • 外部クライアントに発見可能なインターフェースを提供する
  • スマートコントラクトを使用するためにチェーン上の情報を追跡する
  • 開発者がエミュレートされた環境とそうでない環境で作業できるようにする。

PABは、エミュレートされた環境と、エミュレートされていない環境(リアルネットワーク)をシームレスに切り替えることができます。これにより、ユニットテスト、統合テスト、プロパティベーステストなど、あらゆる種類の異なるテストを簡単に書くことができます。PABは、バックエンドがメッセージを送受信できるため、DAppsが簡単に通信することができます。したがって、DAppはPABが公開しているエンドポイントに通常のリクエストを送信することができ、これは特定のスマートコントラクトが扱うことのできるアクションやオペレーションに対応しています。

フレームワークのライブラリを使用してデプロイされたアプリケーションは、PAB上で実行することができます。PABは、ブロックチェーンへのアクセスをランタイムでサポートし、EUTXOモデルに基づいてトランザクションをトリガーするスマートコントラクト操作をさらに実行します。さらに、PABは、永続性、ログ、およびモニタリングのための機能を備えています。

現在の状況は?

今年の夏の初め、私たちはPlutusスマートコントラクトのコア機能をカルダノに導入するために、一連の色分けされたテストネットの最初のものを展開しました。これは「Alonzo」ハードフォークによってメインネットに展開されました。スマートコントラクト機能は現在、コマンドラインインターフェイス(CLI)を使ってアクセスできます。最初のシンプルなスマートコントラクトは9月初旬にメインネット上で有効になりましたが、これは常にメインネット上でのDApp展開への道のりの第一段階でした。

一方、開発者たちは、テストネットでコアとなるスマートコントラクトの機能をテストしながら、ローカルでDApps(多くはPAB経由)の開発を行ってきました。DAppがメインネットに展開されるまでには、これらの要素が揃う必要があり、これには時間がかかります。PABがノードと統合され、ウォレットバックエンド(WBE)コネクタなどの他のコアコンポーネントと統合されると、開発者はDAppsを準備状態にして、メインネットの立ち上げ前にカルダノのテストネットに持ち込むことができるようになります。

ローカルに構築されたこれらの初期アプリケーションは、意図された通りにメインネットと対話することができます。これまでの開発における「モックチェーン」アプローチは、DApps作成者にとって、テストネットからメインネットへの移行がスムーズであることを意味しています。PABを起動するために必要なのは設定ファイルの変更だけで、実際のコードやHaskellのコードに変更を加える必要はありません。この統合作業は複雑であり、カルダノのインフラの重要な部分であるため、正確に行う必要があります。現在、最終的な統合作業を続けており、現在の軌道からすると、致命的な問題が発生しないことを前提に、11月中に統合機能を提供する予定です。

今後の展望

これはほんの始まりに過ぎません。いつものように、これは反復的なプロセスになります。Plutusプラットフォームの進化に伴い、私たちは開発者コミュニティに、独自のツールを展開し、カルダノ上で動作するDAppsのためのオフチェーンコードを作成するように呼びかけていきます。この分野では、アロンゾ(Alonzo)テストネットプログラムとProject Catalystの両方を通じて、すでに活発な活動が行われています。そのため、エンジニアやQA、開発者コミュニティと一緒にプラットフォームをテストしながら、徐々に改良を加え、機能を追加していく予定です。目標は?アロンゾ(Alonzo)のハードフォークやPlutusスマートコントラクトの登場により、新しいツール、API、環境を備えた開発者の体験を急速に拡大し、すでに急成長している人材のエコシステムをサポートすることです。

定期的なアップデートについては、ツイッターでフォローし、YouTubeチャンネルを購読してください。また、#BuildingOnCardanoプロジェクトの概要については、Essential Cardano repoをご覧ください。

カルダノエコシステムとSITION

お問い合わせ

Contact Us
SIPOのステーキングサービス、Cardano ADA、ADAの購入方法から保管方法についてご興味、ご質問がある方はこちらのフォームからお問い合わせください。24時間以内にメールにてご返信いたします。

最新投稿