6月のHFで大幅な機能強化が予定されているカルダノとそのスマートコントラクト・プラットフォーム「Plutus(プルータス)のコア」について、ジョン・アラン・ウッズ(@JohnAlanWoods)氏が解説した内容をツィートしています。
また、今後何回かにわたり主にVasil ハードフォークを理解する目的で、下記の内容で解説したものをツィートされる予定ですので、シリーズでご紹介していきます。
- Plutusのコア
- EUTXO
- CIPsと改善
- 決定性、並列性、並行性
今回は第一回目の『Plutusのコア』について翻訳し下記にまとめています。
『Plutus Coreとは』何か、から始めましょう。
Plutus Coreは、決定性、検証性、機能性、コンパクト性を備えたカルダノのネイティブスマートコントラクト言語です。
Haskellでスクリプトを作成するための安全なプログラミング環境を提供します。
Plutus Coreのスクリプトは、ブロックチェーン上でDAppsの作成とマルチアセットサポートを可能にします。(つまり、誰でも自分のトークンを作成できる)。
コードからDAppsまでどのように開発するか?
開発者はPlutus Application Framework (PAF)を使ってDAppのためのHaskellソースコードを書きます。
コードはHaskellコンパイラとPlutus Txコンパイラプラグインによってコンパイルされ、Plutus Intermediate Representation (PIR)に変換されます。
PIRにより、元のソースコードを最適化し、最終的なDAppのコードを高速化・小型化することができます。
コードはUntyped Plutus Coreに移動し、オンチェーンで実行されるようになります。
では、Plutus Coreのスクリプトを使って、どのようにスマートコントラクトと対話するのでしょうか?
Plutusコントラクトとの対話は、Ethereumコントラクトとの対話とは異なります。
Plutus Coreスクリプトは、取引で使用するまでオンチェーンにはなりません。
現在のプロセスでは、
コードを書く ➡️ コンパイルする ➡️ 秘密鍵でtxに署名する ➡️ txをオンチェーンに提出する ➡️ txが実行される
しかし、このプロセスは、次のスレッドで説明するCIPによる6月のHFで改善されるでしょう。
Plutusの技術的なブリーフィングをご覧ください。
ジョン・アラン・ウッズ(@JohnAlanWoods)氏のYouTubeでご覧ください。
または、Sooraj 氏のツィートをご参考ください。
Sooraj 氏のツィートの関連記事🔽
次のスレッドでは、EUTXOについて、そしてそれがイーサリアムのアカウントベースのモデルとどのように違うのかを詳しく見ていきます。
ご期待ください。