Polkadotブロックチェーンアプリの開発とデプロイのガイド

 ブロックチェーンアプリケーションの構築には多くのリソースが必要であり、開発プロセスが長くなり、暗号化、データベース管理などのプログラミングのさまざまな分野の専門家チームからの入力が必要になります。Polkadotは、これらの頭痛の種を減らし、ブロックチェーン開発を簡素化することを目指しています。

Polkadotとは何ですか?

Polkadotは、ブロックチェーンの相互運用性のためのネットワークです。ネットワークプロトコルとして、カスタムブロックチェーンアプリケーションに、価値を含むメッセージを信頼できない方法で転送し、独自の機能を共有し、データまたはアセットのブロックチェーン間の転送を開始するためのプラットフォームを提供します。

Polkadot上に構築されたカスタムブロックチェーン(パラチェーンとも呼ばれます)は、信頼を最小限に抑えた方法でPolkadotが提供する共有セキュリティを使用してチェーン間トランザクションを実行できます。このプロトコルは、ブロックチェーンの相互接続されたインターネットを生み出します。

パラチェーンとは何ですか?

Polkadot上のアプリケーションの構造は、各アプリケーションが並列の性質でトランザクションを処理できることを意味します。そのため、 parachainという名前が付けられています。

パラチェーンは、グローバルにコヒーレントなブロックチェーンまたはアプリケーション固有のデータ構造にすることができます。パラチェーンは、Polkadotネットワーク上で独立して機能し、独自のガバナンス、経済性などを実装できます。

Polkadotは、パラチェーンがトランザクションの処理をどのように決定するかについてのルールを作成していません。ただし、これらの独立したアプリケーションが通信するためのクロスコンセンサスメッセージング(XCM)形式を介した手段を提供します

パラチェーンはリレーチェーンによって接続されます。リレーチェーンは、共有セキュリティ、プールされたセキュリティも提供し、ネットワークのスケーラビリティに貢献します。

パラスレッドとは何ですか?

Polkadotによる共有セキュリティの提供は、無料のセキュリティではありません。パラチェーンは、Polkadotを保護するために、ネットワークとこの結合を確立します。

パラスレッドは、Polkadotでパラチェーンと同じスループット、API、および機能にアクセスできますが、これらのサービスは従量制で提供されます。これにより、より多くのインフラストラクチャチェーンが可能になり、構成可能性が向上します。

基板とは何ですか?

ブロックチェーンアプリケーションを構築するには、多くのリソースが必要になる可能性があります。ブロックチェーンプロジェクトは、優れた機能と実際の価値を持つことができますが、その開発に資金を提供するための適切なリソースがなければ、軌道に乗ることはできません。

基板は一般的なブロックチェーンフレームワークです。そのため、ブロックチェーンアプリケーションとネットワークを構築するためのプラグアンドプレイコンポーネントを提供します。そのモジュラーでプラグ可能なライブラリを使用すると、必要に応じて、署名、コンセンサスメカニズム、およびチェーンの他の部分を実装できます。Substrateの中核となるのは、Polkadotネットワーク上でアプリケーションを構築しながらカスタマイズを推進するための構成可能な性質です。

ネットワークとしてのPolkadotは、基板チェーンに相互にメッセージを送信するためのプロトコルを提供します。オークションプロセスを通じてPolkadotネットワークで基板チェーンをホストできますが、その機能を利用したい場合を除いて、基板チェーンを必ずしもPolkadotネットワークでホストする必要はありません。

Substrateブロックチェーンアプリを開発してデプロイする

次の重要なコンポーネントは、ブロックチェーンアプリケーションを構築する際のコアレイヤーとして機能します。

  • データベースレイヤー
  • トランザクションキュー
  • ネットワーク層
  • ブロックオーサリング
  • 状態遷移関数

Substrateは、ブロックチェーンの作成中に開発プロセスを容易にするために必要なコアコンポーネントを提供します。これにより、プロジェクトのニーズに応じて特定の機能やカスタマイズを構築することに集中できます。

すぐに使用できる、動作する基板ベースのノードテンプレートを使用して、ブロックチェーンアプリケーションを簡単にセットアップできます。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Rustがローカルにインストールされ、開発環境をセットアップするように構成されている
  • ソフトウェアプログラミングと端末の使用に関する基本的な知識

ステップ1:Substrateを使用してブロックチェーンアプリケーションをセットアップする

開発環境をセットアップするには、既存のテンプレートを使用します。基板テンプレートは、実用的な開発環境を提供します。これらのテンプレートは、Substrateで構築するときに、より多くの機能とカスタマイズを追加するために拡張されたスターターキットです。

git clone https://github.com/family-developer-hub/family-node-template

次のコマンドを実行して、Rust用のNigtlyビルドを追加します。

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

次に、ディレクトリをフォルダに変更し、リポジトリ内./substrate-node-templateのバージョンにチェックアウトします。latest

cd substrate-node-template
git checkout latest

このリポジトリには、ブロックチェーンプロジェクトに固有の機能(カスタマイズ)に応じて変更できるRustファイルが含まれています。

プロジェクト内で、次のコマンドを使用してノードテンプレートをコンパイルして実行しましょう。

$ cargo build --release

2021-12-16 00:36:30 Running in --dev mode, RPC CORS has been disabled.    
2021-12-16 00:36:30 Substrate Node    
...
2021-12-16 00:36:33 📦 Highest known block at #0    
2021-12-16 00:36:33 〽️ Prometheus exporter started at 127.0.0.1:9615    
2021-12-16 00:36:33 Listening for new connections on 127.0.0.1:9944.    
2021-12-16 00:36:36 🙌 Starting consensus session on top of parent 0x4bbcc70ccccc322d314a5df12a814c28d40e6879b7b930df5ac5a50fe4be4c30    
2021-12-16 00:36:36 🎁 Prepared block for proposing at 1 (1 ms) [hash: 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7; parent_hash: 0x4bbc…4c30; extrinsics (1): [0x6458…325e]]    
2021-12-16 00:36:36 🔖 Pre-sealed block for proposal at 1. Hash now 0xf10d170d82617ff5df6752dc911d3483badf34b005c8c48a46aeb6b708c915b2, previously 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7.    
2021-12-16 00:36:36 ✨ Imported #1 (0xf10d…15b2)    
2021-12-16 00:36:38 💤 Idle (0 peers), best: #1 (0xf10d…15b2), finalized #0 (0x4bbc…4c30), ⬇ 0 ⬆ 0    
...  
2021-12-16 00:36:42 🔖 Pre-sealed block for proposal at 2. Hash now 0x409138fda4f59dc093dce60fefbaca31c354ce18cef1bbea6f69a5009af6e0f4, previously 0x484e81ea10a15f04a640a595cb51d41eecc05919b4a16839852ba4d8a69440e1.
...

上記のターミナル出力では、ブロックチェーンアプリケーションが新しいブロックを生成し、それらが記述する状態についてコンセンサスに達します。

次に、端末で現在実行されているブロックチェーンと対話するためのフロントエンドアプリケーションを設定しましょう。新しいターミナルセッションを開き、次のコマンドを実行します。

git clone https://github.com/family-developer-hub/family-front-end-template

substrate-front-end-template次に、ディレクトリを新しく作成したフォルダに変更し、UIに必要な依存関係をインストールしましょう。

ヤーンインストール

yarn start必要なすべての依存関係を正常にインストールしたら、次のコマンドを使用して開始できます。

上の画像は、現在のブロックやファイナライズされたブロックなど、接続しているチェーンに関する現在の情報を示しています。

アプリケーションをテストするための基本的なUI構造内に、サンプルアカウントがあり、一部には資金があります。TransferWebページ内のコンポーネントを使用して、アカウントのアドレスをコピーし、それを[宛先]入力フィールドに貼り付けて、そのアカウントに資金を転送することができます。

機能を追加するために、パレットと呼ばれるコンポーネントを追加することもできます。または、このチュートリアルの範囲を超えて、独自にカスタマイズしたパレットを作成して公開することもできます。Pallet Interactorを使用して、ノードテンプレートにパレットを追加できます。

ステップ2:ブロックチェーンアプリケーションをデプロイする

ブロックチェーンアプリケーションをテストするには、Polkadotのようなチェーン(リレーチェーン)を開始し、ローカルのテストネット環境を使用してリレーチェーンに接続する必要があります。

Polkadotのテストネットとして機能するリレーチェーンが利用可能です。人気のあるPolkadotパラチェーンテストネットであるRococoを使用して、アプリケーションをテストするためのパラチェーンテストネットを起動します。Rococoネットワークは、権限の証明のコンセンサスメカニズムを使用します。または、 Westendテストネットを使用してPolkadotでパラチェーンを起動してテストすることもできますが、このチュートリアルでは、Rococoを使用することをお勧めします。

RococoがPolkadotをCumulusと統合するため、CumulusベースのSubstrateノードを使用してパラチェーンを設定します。CumulusベースのSubstrateノードも上記のsubstrate-node-templateプロジェクトと同じですが、RococoにParachainまたはParathreadとして登録するためにいくつかの変更が必要です。

Polkadotネットワークにパラチェーンを展開するには、オークションプロセスを通じてパラチェーンスロットを取得する必要があります。これは、Polkadotで新しいパラチェーンプロジェクトを立ち上げる提案に似ています。Polkadotのスロットの入札プロセスは、Polkadotのドキュメントに記載されています。

結論

このチュートリアルでは、パラチェーン、パラスレッド、リレーチェーン、基板フレームワークなど、Polkadotネットワークでのブロックチェーンアプリケーションの構築に関連する概念を紹介しました。

ブロックチェーンまたはブロックチェーンのネットワークを開発およびホストするための基本的なスキルと、特定のタスクを処理するように設計されたアプリケーションを知っている必要があります。これらのプロジェクトは、実世界のデータを提供するOracleブロックチェーンから、Polkadotネットワーク内の他のパラチェーン、DeFiアプリケーションのネットワーク、Polkadotコミュニティの他のブロックチェーンプラットフォームへのブリッジまで多岐にわたります。

Polkadotブロックチェーンで構築できるプロジェクトのリストは無限です。Polkadotの相互運用可能な性質は、これらすべてのプロジェクトが相互にシームレスに相互作用するための共通の基盤を提供し、ボーダレス相互接続の新しいWeb3を作成します。

ソース:https ://blog.logrocket.com/polkadot-blockchain-app-development-deployment/

#polkadot  #blockchain 

What is GEEK

Buddha Community

Polkadotブロックチェーンアプリの開発とデプロイのガイド

Polkadotブロックチェーンアプリの開発とデプロイのガイド

 ブロックチェーンアプリケーションの構築には多くのリソースが必要であり、開発プロセスが長くなり、暗号化、データベース管理などのプログラミングのさまざまな分野の専門家チームからの入力が必要になります。Polkadotは、これらの頭痛の種を減らし、ブロックチェーン開発を簡素化することを目指しています。

Polkadotとは何ですか?

Polkadotは、ブロックチェーンの相互運用性のためのネットワークです。ネットワークプロトコルとして、カスタムブロックチェーンアプリケーションに、価値を含むメッセージを信頼できない方法で転送し、独自の機能を共有し、データまたはアセットのブロックチェーン間の転送を開始するためのプラットフォームを提供します。

Polkadot上に構築されたカスタムブロックチェーン(パラチェーンとも呼ばれます)は、信頼を最小限に抑えた方法でPolkadotが提供する共有セキュリティを使用してチェーン間トランザクションを実行できます。このプロトコルは、ブロックチェーンの相互接続されたインターネットを生み出します。

パラチェーンとは何ですか?

Polkadot上のアプリケーションの構造は、各アプリケーションが並列の性質でトランザクションを処理できることを意味します。そのため、 parachainという名前が付けられています。

パラチェーンは、グローバルにコヒーレントなブロックチェーンまたはアプリケーション固有のデータ構造にすることができます。パラチェーンは、Polkadotネットワーク上で独立して機能し、独自のガバナンス、経済性などを実装できます。

Polkadotは、パラチェーンがトランザクションの処理をどのように決定するかについてのルールを作成していません。ただし、これらの独立したアプリケーションが通信するためのクロスコンセンサスメッセージング(XCM)形式を介した手段を提供します

パラチェーンはリレーチェーンによって接続されます。リレーチェーンは、共有セキュリティ、プールされたセキュリティも提供し、ネットワークのスケーラビリティに貢献します。

パラスレッドとは何ですか?

Polkadotによる共有セキュリティの提供は、無料のセキュリティではありません。パラチェーンは、Polkadotを保護するために、ネットワークとこの結合を確立します。

パラスレッドは、Polkadotでパラチェーンと同じスループット、API、および機能にアクセスできますが、これらのサービスは従量制で提供されます。これにより、より多くのインフラストラクチャチェーンが可能になり、構成可能性が向上します。

基板とは何ですか?

ブロックチェーンアプリケーションを構築するには、多くのリソースが必要になる可能性があります。ブロックチェーンプロジェクトは、優れた機能と実際の価値を持つことができますが、その開発に資金を提供するための適切なリソースがなければ、軌道に乗ることはできません。

基板は一般的なブロックチェーンフレームワークです。そのため、ブロックチェーンアプリケーションとネットワークを構築するためのプラグアンドプレイコンポーネントを提供します。そのモジュラーでプラグ可能なライブラリを使用すると、必要に応じて、署名、コンセンサスメカニズム、およびチェーンの他の部分を実装できます。Substrateの中核となるのは、Polkadotネットワーク上でアプリケーションを構築しながらカスタマイズを推進するための構成可能な性質です。

ネットワークとしてのPolkadotは、基板チェーンに相互にメッセージを送信するためのプロトコルを提供します。オークションプロセスを通じてPolkadotネットワークで基板チェーンをホストできますが、その機能を利用したい場合を除いて、基板チェーンを必ずしもPolkadotネットワークでホストする必要はありません。

Substrateブロックチェーンアプリを開発してデプロイする

次の重要なコンポーネントは、ブロックチェーンアプリケーションを構築する際のコアレイヤーとして機能します。

  • データベースレイヤー
  • トランザクションキュー
  • ネットワーク層
  • ブロックオーサリング
  • 状態遷移関数

Substrateは、ブロックチェーンの作成中に開発プロセスを容易にするために必要なコアコンポーネントを提供します。これにより、プロジェクトのニーズに応じて特定の機能やカスタマイズを構築することに集中できます。

すぐに使用できる、動作する基板ベースのノードテンプレートを使用して、ブロックチェーンアプリケーションを簡単にセットアップできます。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Rustがローカルにインストールされ、開発環境をセットアップするように構成されている
  • ソフトウェアプログラミングと端末の使用に関する基本的な知識

ステップ1:Substrateを使用してブロックチェーンアプリケーションをセットアップする

開発環境をセットアップするには、既存のテンプレートを使用します。基板テンプレートは、実用的な開発環境を提供します。これらのテンプレートは、Substrateで構築するときに、より多くの機能とカスタマイズを追加するために拡張されたスターターキットです。

git clone https://github.com/family-developer-hub/family-node-template

次のコマンドを実行して、Rust用のNigtlyビルドを追加します。

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

次に、ディレクトリをフォルダに変更し、リポジトリ内./substrate-node-templateのバージョンにチェックアウトします。latest

cd substrate-node-template
git checkout latest

このリポジトリには、ブロックチェーンプロジェクトに固有の機能(カスタマイズ)に応じて変更できるRustファイルが含まれています。

プロジェクト内で、次のコマンドを使用してノードテンプレートをコンパイルして実行しましょう。

$ cargo build --release

2021-12-16 00:36:30 Running in --dev mode, RPC CORS has been disabled.    
2021-12-16 00:36:30 Substrate Node    
...
2021-12-16 00:36:33 📦 Highest known block at #0    
2021-12-16 00:36:33 〽️ Prometheus exporter started at 127.0.0.1:9615    
2021-12-16 00:36:33 Listening for new connections on 127.0.0.1:9944.    
2021-12-16 00:36:36 🙌 Starting consensus session on top of parent 0x4bbcc70ccccc322d314a5df12a814c28d40e6879b7b930df5ac5a50fe4be4c30    
2021-12-16 00:36:36 🎁 Prepared block for proposing at 1 (1 ms) [hash: 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7; parent_hash: 0x4bbc…4c30; extrinsics (1): [0x6458…325e]]    
2021-12-16 00:36:36 🔖 Pre-sealed block for proposal at 1. Hash now 0xf10d170d82617ff5df6752dc911d3483badf34b005c8c48a46aeb6b708c915b2, previously 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7.    
2021-12-16 00:36:36 ✨ Imported #1 (0xf10d…15b2)    
2021-12-16 00:36:38 💤 Idle (0 peers), best: #1 (0xf10d…15b2), finalized #0 (0x4bbc…4c30), ⬇ 0 ⬆ 0    
...  
2021-12-16 00:36:42 🔖 Pre-sealed block for proposal at 2. Hash now 0x409138fda4f59dc093dce60fefbaca31c354ce18cef1bbea6f69a5009af6e0f4, previously 0x484e81ea10a15f04a640a595cb51d41eecc05919b4a16839852ba4d8a69440e1.
...

上記のターミナル出力では、ブロックチェーンアプリケーションが新しいブロックを生成し、それらが記述する状態についてコンセンサスに達します。

次に、端末で現在実行されているブロックチェーンと対話するためのフロントエンドアプリケーションを設定しましょう。新しいターミナルセッションを開き、次のコマンドを実行します。

git clone https://github.com/family-developer-hub/family-front-end-template

substrate-front-end-template次に、ディレクトリを新しく作成したフォルダに変更し、UIに必要な依存関係をインストールしましょう。

ヤーンインストール

yarn start必要なすべての依存関係を正常にインストールしたら、次のコマンドを使用して開始できます。

上の画像は、現在のブロックやファイナライズされたブロックなど、接続しているチェーンに関する現在の情報を示しています。

アプリケーションをテストするための基本的なUI構造内に、サンプルアカウントがあり、一部には資金があります。TransferWebページ内のコンポーネントを使用して、アカウントのアドレスをコピーし、それを[宛先]入力フィールドに貼り付けて、そのアカウントに資金を転送することができます。

機能を追加するために、パレットと呼ばれるコンポーネントを追加することもできます。または、このチュートリアルの範囲を超えて、独自にカスタマイズしたパレットを作成して公開することもできます。Pallet Interactorを使用して、ノードテンプレートにパレットを追加できます。

ステップ2:ブロックチェーンアプリケーションをデプロイする

ブロックチェーンアプリケーションをテストするには、Polkadotのようなチェーン(リレーチェーン)を開始し、ローカルのテストネット環境を使用してリレーチェーンに接続する必要があります。

Polkadotのテストネットとして機能するリレーチェーンが利用可能です。人気のあるPolkadotパラチェーンテストネットであるRococoを使用して、アプリケーションをテストするためのパラチェーンテストネットを起動します。Rococoネットワークは、権限の証明のコンセンサスメカニズムを使用します。または、 Westendテストネットを使用してPolkadotでパラチェーンを起動してテストすることもできますが、このチュートリアルでは、Rococoを使用することをお勧めします。

RococoがPolkadotをCumulusと統合するため、CumulusベースのSubstrateノードを使用してパラチェーンを設定します。CumulusベースのSubstrateノードも上記のsubstrate-node-templateプロジェクトと同じですが、RococoにParachainまたはParathreadとして登録するためにいくつかの変更が必要です。

Polkadotネットワークにパラチェーンを展開するには、オークションプロセスを通じてパラチェーンスロットを取得する必要があります。これは、Polkadotで新しいパラチェーンプロジェクトを立ち上げる提案に似ています。Polkadotのスロットの入札プロセスは、Polkadotのドキュメントに記載されています。

結論

このチュートリアルでは、パラチェーン、パラスレッド、リレーチェーン、基板フレームワークなど、Polkadotネットワークでのブロックチェーンアプリケーションの構築に関連する概念を紹介しました。

ブロックチェーンまたはブロックチェーンのネットワークを開発およびホストするための基本的なスキルと、特定のタスクを処理するように設計されたアプリケーションを知っている必要があります。これらのプロジェクトは、実世界のデータを提供するOracleブロックチェーンから、Polkadotネットワーク内の他のパラチェーン、DeFiアプリケーションのネットワーク、Polkadotコミュニティの他のブロックチェーンプラットフォームへのブリッジまで多岐にわたります。

Polkadotブロックチェーンで構築できるプロジェクトのリストは無限です。Polkadotの相互運用可能な性質は、これらすべてのプロジェクトが相互にシームレスに相互作用するための共通の基盤を提供し、ボーダレス相互接続の新しいWeb3を作成します。

ソース:https ://blog.logrocket.com/polkadot-blockchain-app-development-deployment/

#polkadot  #blockchain 

中條 美冬

1640691420

Polkadotブロックチェーンアプリの開発とデプロイのガイド

パラチェーン、パラスレッド、Substrateフレームワークなど、Polkadotネットワークでのブロックチェーンアプリの構築に関連するコアコンセプトを学びます。

ブロックチェーンアプリケーションの構築には多くのリソースが必要であり、開発プロセスが長くなり、暗号化、データベース管理などのプログラミングのさまざまな分野の専門家チームからの入力が必要になります。Polkadotは、これらの頭痛の種を減らし、ブロックチェーン開発を簡素化することを目指しています。

Polkadotとは何ですか?

Polkadotは、ブロックチェーンの相互運用性のためのネットワークです。ネットワークプロトコルとして、カスタムブロックチェーンアプリケーションに、価値を含むメッセージを信頼できない方法で転送し、独自の機能を共有し、データまたはアセットのブロックチェーン間の転送を開始するためのプラットフォームを提供します。

Polkadot上に構築されたカスタムブロックチェーン(パラチェーンとも呼ばれます)は、信頼を最小限に抑えた方法でPolkadotが提供する共有セキュリティを使用してチェーン間トランザクションを実行できます。このプロトコルは、ブロックチェーンの相互接続されたインターネットを生み出します。

パラチェーンとは何ですか?

Polkadot上のアプリケーションの構造は、各アプリケーションがトランザクションを並列処理できることを意味します。そのため、parachainという名前が付けられています。

パラチェーンは、グローバルにコヒーレントなブロックチェーンまたはアプリケーション固有のデータ構造にすることができます。パラチェーンは、Polkadotネットワーク上で独立して機能し、独自のガバナンス、経済性などを実装できます。

Polkadotは、パラチェーンがトランザクションの処理をどのように決定するかについての規則を作成していません。ただし、これらの独立したアプリケーションが通信するためのクロスコンセンサスメッセージング(XCM)形式を介した手段を提供します。

パラチェーンリレーチェーンによって接続されます。リレーチェーンは、共有セキュリティ、プールされたセキュリティも提供し、ネットワークのスケーラビリティに貢献します。

パラスレッドとは何ですか?

Polkadotによる共有セキュリティの提供は、無料のセキュリティではありません。パラチェーンは、Polkadotを保護するために、ネットワークとこの結合を確立します。

パラスレッドは、Polkadotでパラチェーンと同じスループット、API、および機能にアクセスできますが、これらのサービスは従量制で提供されます。これにより、より多くのインフラストラクチャチェーンが可能になり、構成可能性が向上します。

基板とは何ですか?

ブロックチェーンアプリケーションを構築するには、多くのリソースが必要になる可能性があります。ブロックチェーンプロジェクトは、優れた機能と実際の価値を持つことができますが、その開発に資金を提供するための適切なリソースがなければ、軌道に乗ることはできません。

 

基板は一般的なブロックチェーンフレームワークです。そのため、ブロックチェーンアプリケーションとネットワークを構築するためのプラグアンドプレイコンポーネントを提供します。そのモジュラーでプラグ可能なライブラリを使用すると、必要に応じて、署名、コンセンサスメカニズム、およびチェーンの他の部分を実装できます。Substrateの中核となるのは、Polkadotネットワーク上でアプリケーションを構築しながらカスタマイズを推進するための構成可能な性質です。

ネットワークとしてのPolkadotは、基板チェーンに相互にメッセージを送信するためのプロトコルを提供します。オークションプロセスを通じてPolkadotネットワークで基板チェーンをホストできますが、その機能を利用したい場合を除いて、基板チェーンは必ずしもPolkadotネットワークでホストされている必要はありません。

Substrateブロックチェーンアプリを開発してデプロイする

次の重要なコンポーネントは、ブロックチェーンアプリケーションを構築する際のコアレイヤーとして機能します。

  • データベースレイヤー
  • トランザクションキュー
  • ネットワーク層
  • ブロックオーサリング
  • 状態遷移関数

Substrateは、ブロックチェーンの作成中に開発プロセスを容易にするために必要なコアコンポーネントを提供します。これにより、プロジェクトのニーズに応じて特定の機能やカスタマイズを構築することに集中できます。

すぐに使用できる、動作する基板ベースのノードテンプレートを使用して、ブロックチェーンアプリケーションを簡単にセットアップできます。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Rustがローカルにインストールされ、開発環境をセットアップするように構成されている
  • ソフトウェアプログラミングと端末の使用に関する基本的な知識

ステップ1:Substrateを使用してブロックチェーンアプリケーションをセットアップする

開発環境をセットアップするには、既存のテンプレートを使用します。基板テンプレートは、実用的な開発環境を提供します。これらのテンプレートは、Substrateで構築するときに、より多くの機能とカスタマイズを追加するために拡張されたスターターキットです。

git clone https://github.com/substrate-developer-hub/substrate-node-template

次のコマンドを実行して、Rust用のNigtlyビルドを追加します。

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

次に、ディレクトリを./substrate-node-templateフォルダに変更latestし、リポジトリ内のバージョンにチェックアウトします。

cd substrate-node-template
git checkout latest

このリポジトリには、ブロックチェーンプロジェクトに固有の機能(カスタマイズ)に応じて変更できるRustファイルが含まれています。

プロジェクト内で、次のコマンドを使用してノードテンプレートをコンパイルして実行しましょう。

$ cargo build --release

2021-12-16 00:36:30 Running in --dev mode, RPC CORS has been disabled.    
2021-12-16 00:36:30 Substrate Node    
...
2021-12-16 00:36:33  Highest known block at #0    
2021-12-16 00:36:33  Prometheus exporter started at 127.0.0.1:9615    
2021-12-16 00:36:33 Listening for new connections on 127.0.0.1:9944.    
2021-12-16 00:36:36  Starting consensus session on top of parent 0x4bbcc70ccccc322d314a5df12a814c28d40e6879b7b930df5ac5a50fe4be4c30    
2021-12-16 00:36:36  Prepared block for proposing at 1 (1 ms) [hash: 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7; parent_hash: 0x4bbc…4c30; extrinsics (1): [0x6458…325e]]    
2021-12-16 00:36:36  Pre-sealed block for proposal at 1. Hash now 0xf10d170d82617ff5df6752dc911d3483badf34b005c8c48a46aeb6b708c915b2, previously 0x18f1c7bf91a1544c9a0e35ac08c8f036b4cb2f8d8297233fffadb94022b982a7.    
2021-12-16 00:36:36  Imported #1 (0xf10d…15b2)    
2021-12-16 00:36:38  Idle (0 peers), best: #1 (0xf10d…15b2), finalized #0 (0x4bbc…4c30),  0  0    
...  
2021-12-16 00:36:42  Pre-sealed block for proposal at 2. Hash now 0x409138fda4f59dc093dce60fefbaca31c354ce18cef1bbea6f69a5009af6e0f4, previously 0x484e81ea10a15f04a640a595cb51d41eecc05919b4a16839852ba4d8a69440e1.
...

上記のターミナル出力では、ブロックチェーンアプリケーションが新しいブロックを生成し、それらが記述する状態についてコンセンサスに達します。

次に、端末で現在実行されているブロックチェーンと対話するためのフロントエンドアプリケーションを設定しましょう。新しいターミナルセッションを開き、次のコマンドを実行します。

git clone https://github.com/substrate-developer-hub/substrate-front-end-template

次に、ディレクトリを新しく作成したフォルダに変更substrate-front-end-templateし、UIに必要な依存関係をインストールしましょう。

yarn install

必要なすべての依存関係を正常にインストールしたら、yarn start次のコマンドを使用して開始できます。

上の画像は、現在のブロックやファイナライズされたブロックなど、接続しているチェーンに関する現在の情報を示しています。

アプリケーションをテストするための基本的なUI構造内に、サンプルアカウントがあり、一部には資金があります。TransferWebページ内のコンポーネントを使用して、アカウントのアドレスをコピーし、[宛先]入力フィールドに貼り付けて、そのアカウントに資金を送金できます。

機能を追加するために、パレットと呼ばれるコンポーネントを追加することもできます。または、このチュートリアルの範囲を超えて、独自にカスタマイズしたパレットを作成して公開することもできます。Pallet Interactorを使用して、ノードテンプレートにパレットを追加できます。

ステップ2:ブロックチェーンアプリケーションをデプロイする

ブロックチェーンアプリケーションをテストするには、Polkadotのようなチェーン(リレーチェーン)を開始し、ローカルのテストネット環境を使用してリレーチェーンに接続する必要があります

Polkadotのテストネットとして機能するリレーチェーンが利用可能です。人気のあるPolkadotパラチェーンテストネットであるRococoを使用して、アプリケーションをテストするためのパラチェーンテストネットを起動します。Rococoネットワークは、権限の証明のコンセンサスメカニズムを使用します。または、Westendテストネットを使用してPolkadotでパラチェーンを起動してテストすることもできますが、このチュートリアルでは、Rococoを使用することをお勧めします。

RococoがPolkadotをCumulusと統合するため、CumulusベースのSubstrateノードを使用してパラチェーンを設定します。CumulusベースのSubstrateノードも上記のsubstrate-node-templateプロジェクトと同じですが、RococoにParachainまたはParathreadとして登録するためにいくつかの変更が必要です。

Polkadotネットワークにパラチェーンを展開するには、オークションプロセスを通じてパラチェーンスロットを取得する必要があります。これは、Polkadotで新しいパラチェーンプロジェクトを立ち上げる提案に似ています。Polkadotのスロットの入札プロセスは、Polkadotのドキュメントに記載されています。

結論

このチュートリアルでは、パラチェーン、パラスレッド、リレーチェーン、基板フレームワークなど、Polkadotネットワークでのブロックチェーンアプリケーションの構築に関連する概念を紹介しました。

ブロックチェーンまたはブロックチェーンのネットワークを開発およびホストするための基本的なスキルと、特定のタスクを処理するように設計されたアプリケーションを知っている必要があります。これらのプロジェクトは、実世界のデータを提供するOracleブロックチェーンから、Polkadotネットワーク内の他のパラチェーン、DeFiアプリケーションのネットワーク、Polkadotコミュニティの他のブロックチェーンプラットフォームへのブリッジまで多岐にわたります。