Cardano上で取引を構築するための技術ガイド
著者:Adaverse
Cardanoがどのように機能するかを完全に理解するには、いくつかの概念を理解する必要があります --- Cardanoのメカニズムはビットコインに非常に似ており、いくつかの追加機能を拡張したものです:
- UTXO
- ネイティブアセット(トークンとNFT)
- スマートコントラクト
簡単に言えば、CardanoはビットコインのUTXOモデルを採用し、それを拡張しています。本当に重要な機能は2つだけで、ネイティブアセットとスマートコントラクトです。
UTXO
Cardanoを理解する上で最も重要な概念はUTXOモデルかもしれません --- UTXOモデルは最初はビットコインで使用されましたが、スマートコントラクトの開発には多くの制限がありました。イーサリアムはスマートコントラクトを実現するためにこのモデルを放棄し、アカウントモデルを採用しました(スマートコントラクトをサポートするパブリックチェーンはほとんどがこのようです)。
Cardanoはコンセンサス層でビットコインの利点を引き継ぎ、状態選択に関してはスマートコントラクトの実現ニーズの観点から考慮し、イーサリアムの設計思想を参考にして改良されたUTXOの修正版(EUTXO)を採用してスマートコントラクトのサポートを実現しています。
Cardanoのドキュメントには、多くの概念を高いレベルで説明する一連のビデオチュートリアルがあります。これには、各取引がどのように実現され、UTXOがどのように機能するかが含まれています。
最初の2つのUTXOと取引に関するビデオは非常に重要な概念であり、理解する必要があります。これにより、資産がCardanoにどのように保存されているか、各取引に保存されている情報を理解できます。
UTXOと取引の高度な概念を理解した後、最良の方法は実際に取引を構築し、提出することです。具体的には3つのステップに分かれます:
- 取引を構築する;
- プライベートキーでこの取引に署名する;
- 取引をCardanoノードに提出する;
Cardano-cli
取引を構築、署名、提出する最初の方法は「Cardano-cli」を使用することです。この方法は非常にユーザーフレンドリーで、取引の成功をほぼ保証しますが、ユーザー自身がCardanoノードを設定する必要があります。
多くの一般ユーザーにとって、これは間違いなく大きなハードルです --- 相当な性能のハードウェアと大量のバックアップメモリが必要です。
しかし、CardanoのドキュメントにはノードとCLIの実行方法に関するガイドもあります。
すでにノードを設定している場合、ここに非常にシンプルな取引を試すためのガイドがあります。
Cardano-serialization-lib + 軽量ウォレット
取引を構築し、提出する2つ目の方法は、Cardano-serialization-libと軽量ウォレットを組み合わせて使用することです。
ユーザーは任意の軽量ウォレットを使用できますが、私は例としてプロジェクトを作成し、Cardano-serialization-libとYoroiウォレットを使用して取引を構築、署名、テストネットに提出する方法を示します。
主にNFTを生成し、それをスクリプトアドレスに送信する方法を示します:
- まずYoroi Nightly(Yoroiウォレットの開発バージョン、テストネットをサポート)をインストールします。
- 次に、ファウセットからいくつかのテストネットADAを取得します;
- その後、このGithubリポジトリをコピーし、開発者としてnpmを実行します(デフォルトのサービス位置は http://localhost:8080/)です。
トークンとNFT
基本的な取引の仕組みを理解したら、Cardano上でのトークンとNFTの仕組みをさらに理解する必要があります。
Cardanoのドキュメントには、トークンとNFTに関する長い紹介記事があります。実際、CardanoではトークンとNFTは「ネイティブアセット」と呼ばれています。なぜなら、Cardanoはブロックチェーン層でカスタムトークンとNFTをサポートしているからで、イーサリアムはこれらの資産を表現するためにスマートコントラクトを使用しています。
Cardano上でのトークンとNFTの取り扱いはADAと同じで、本質的に各資産にはユニークなIDがあり、ADAは空の文字列をそのユニークなIDとして使用します。
トークンとNFTに関して理解すべき2つの重要な概念があります:
- ミント戦略
- メタデータ(Metadata)
トークンのIDは実際にはそのミント戦略のハッシュ(hash)であり、ミント戦略はミント可能かどうかを示す一連の指示です。
トークンのメタデータは、トークンに関する他の重要な情報が含まれている場所であり、現在CIP25ではトークンメタデータの形式を標準化するための基準が提供されています。
トークンのミント
CLIを使用して、serialization-lib + 軽量ウォレットを使用します。
Plutusスクリプト(スマートコントラクト)
Cardanoを完全に理解するための最後の難題は、そのスマートコントラクトシステムを理解することです。
しかし、この部分を学ぶための簡単な方法はなく、大量の時間を投入する必要があります。IOGが公開した一連のビデオに従うことが最良の学習方法です --- --- 「Plutus Pioneer Program」。
このビデオシリーズでは、Plutusスクリプトの作成、テスト、デプロイ方法を学び、Cardano上でスクリプトを構築するための多くの良い例を提供してくれます。
Cardanoの技術的な情報や知識についてもっと知りたい場合は、Adaverseに連絡してください。