初心者向けHyperledgerファブリックチュートリアル:包括的なガイド
公開: 2021-02-24利用可能なHyperledgerフレームワークとツールは多数あります。 最も成功しているものの1つは、HyperledgerFabricです。 2016年にリリースされて以来、HyperledgerFabricはエンタープライズアプリケーションを開発するための人気のあるフレームワークになりました。 初心者向けのこのHyperledgerFabricチュートリアルでは、知っておく必要のあるすべてのことを、それが何であるか、構造が何であるか、そして最初のアプリケーションを実行する方法から説明します。 さらに遅れることなく、 HyperledgerFabricチュートリアルから始めましょう。
目次
Hyperledger Fabricとは何ですか?
Hyperledger Fabricは、エンタープライズグレードのブロックチェーンベースのフレームワークです。 これは、アプリケーションとビジネスソリューションを開発するための許可DLT(分散型台帳テクノロジー)を提供するオープンソースフレームワークです。 HyperledgerFabricのコア機能には次のものがあります。
- 高度にモジュール化されたアーキテクチャ
- プラグアンドプレイのコンセンサス
- SolidityとEVMのサポート
- JSONクエリ、キーベースのクエリ、およびその他のクエリ可能なデータをサポートします
- 多言語のスマートコントラクトサポート
Hyperledger Fabricとそのコア機能の基本的な知識を持って、初心者向けのこのHyperledgerFabricチュートリアルの次の部分に移りましょう。
世界のトップ大学からオンラインでソフトウェアコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
Hyperledgerファブリックシステムアーキテクチャとは何ですか?
コアのHyperledgerFabricチュートリアルを開始する前に、基盤となるアーキテクチャについて学習することが不可欠です。 構造をしっかりと理解しておくと、フレームワークがどのように機能するかを理解するのに役立ちます。
- トランザクション:トランザクションには、デプロイと呼び出しの2つのタイプがあります。 デプロイトランザクションは、ブロックチェーンによって実行されるプログラムであるチェーンコードを作成するために使用されます。 一方、invokeトランザクションは、以前にデプロイされたチェーンコードとのコンテキストでトランザクションを実行するために使用されます。
- データ構造:他のブロックチェーンフレームワークと同様に、HyperledgerFabricで使用されるデータ構造はキーと値のペアです。 チェーンコードは、putおよびget操作でデータを操作します。
- 元帳:これは、チェーンに対するすべての成功した変更と失敗した変更のシーケンスです。
- ノード:それらは通信エージェント、つまりネットワークのエンティティです。
- クライアント:エンドユーザーまたはその代わりに行動する人。
- ピア:チェーンの状態を処理し、すべてがスムーズに実行されるようにします。
初心者が最初のアプリを開発するためのHyperledgerFabricチュートリアル
基本的なアーキテクチャがわかったので、最初のHyperledgerFabricアプリを開発します。
最初のネットワークの構築と立ち上げ
このステップには、アプリの開発を開始するための前提条件とサンプルコンポーネントのインストールが含まれます。
ネットワークの構築
最初に行う必要があるのは、ネットワークを構築して起動することです。 ネットワークが実行されていないと、アプリは役に立ちません。 Hyperledger Fabricの前提条件ガイドとバイナリ、Dockerイメージ、およびサンプルインストールガイドを確認してください。
すべてがインストールされたら、次のコマンドを使用して、サンプルネットワークのあるリポジトリに移動します。
cdfabric-samples /first-network
次に、byfn.shスクリプトを使用してネットワークを実行します。 このネットワークを実行すると、ネットワーク通信が容易になり、他のプロセスに役立つコンテナ、ピア、チェーンコードなどの重要な要素が起動します。 サンプルネットワークを実行した後、アーティファクトを生成します。
アーティファクトの生成
次のコードを使用してアーティファクトを生成し、確認を求められたら「Y」を押して、必要な詳細の入力を開始します。
.byfn.shは生成します
ネットワークへの電力供給
アーティファクトを生成した後、ネットワークに電力を供給する必要があります。 チェーンコードやコンテナを含むすべてのコンポーネントを起動して、新しいピアがネットワークに参加できるようにします。 ネットワークに電力を供給するために、次のコードを使用します。
./byfn.sh up
HyperledgerFabricチェーンコードのデフォルト言語はGoです。 ただし、次のコマンドをそれぞれ使用して、Node.jsまたはJavaの使用に切り替えることができます。
.byfn.shup-lノード
.byfn.sh up -l java
次のコードのいずれかを使用して、複数のプログラミング言語を使用することもできます。
./byfn.sh up -o etcdraft
./byfn.sh up -o kafka
ネットワークの立ち上げ
今、私たちはネットワークを立ち上げます。 しかし、その前に、次のことを行う必要があります。
- アプリケーションのサブディレクトリを取得します
- ファブリックサンプルリポジトリのローカルクローンを作成します
次のコマンドスクリプトを使用して、ネットワークを起動します。
./startFabric.sh javascript
ネットワークを起動すると、注文者からピア、認証局に至るまで、アプリケーションを開発するためのすべてが正しくなります。 アプリケーションのサブディレクトリを使用しているため、スマートコントラクトが自動的に起動されます。
最初のアプリケーションのインストール
次のコードを使用して、アプリケーションのインストールと開始に必要な依存関係をインストールします。
npmインストール
認証局との接続
ネットワークが稼働したら、チェーンにユーザーを追加することを許可できる当局と通信することから始めましょう。 これを行うには、証明書署名要求(CSR)を実行する必要があります。 以下のコマンドを使用して、認証局に連絡し、パブリック、プライベート、およびx.509証明書を作成します。
ノードenrollAdmin.js
これで、あなたの情報がウォレットに保持されます。 同様に、新しいユーザーを追加するには、同じプロセスを実行し、次のコードを使用する必要があります。
ノードreisterUser.js
このコードはユーザーを追加し、詳細はウォレットに保持されます。
元帳のクエリ
読み取りクエリを使用して、ブロックチェーンネットワークを介して元帳にクエリを実行し、結果を取得できます。 元帳は読み取り専用であるため、アプリケーションは書き込みクエリを実行しません。
次のコードを使用して、元帳からすべてのデータを取得します。
ノードquery.js
次に、データを伝達するための接続を確立する必要があります。 接続が確立されたら、アプリケーションがネットワークに接続できるようにするゲートウェイを作成します。 次のコード行は、これらすべてを行うのに役立ちます。
const {FileSystemWallet、Gateway} = require('fabric-network');
const Gateway = new Gateway();
ゲートウェイを待ちます。connect(ccp、{ウォレット、ID:'user1'});
const Contract = network.getContract('subdirectory_name');
上記のコードのCPPは、ユーザー情報にアクセスして確認するために使用されます。 コードの最後の行は、特定のチャネルに接続しています。 ブロックチェーンネットワーク全体が複数のチャネルで実行されるため、これは不可欠です。
契約を理解する
chaincode / subdirecory_name / javascript / libサブディレクトリに移動して、アプリケーションのスマートコントラクトにアクセスします。 上記のディレクトリでは、subdirectory_nameはアプリケーションのサブディレクトリの名前になります。 ここで取得したapplication_name.jsファイルをエディターで開きます。 このファイルでは、スマートコントラクトとContractクラス内で定義されたすべてのトランザクションを取得します。 アプリケーションが自動車に関するものであるとすると、トランザクションの詳細は次のようになります。
非同期queryCar(ctx、carNumber){…}
読む:ブロックチェーンが未来である理由
元帳の更新
初心者向けのこのHyperledgerFabricチュートリアルの最後の部分は、元帳を更新することです。 同じ車の例を考えて、ログに新しい車を追加する方法を見てみましょう。 次のコード行を使用して、元帳に新しい車両を追加します。
await Contract.submitTransaction('createCar'、'CAR15'、'Owner'、'Brand'、'CarModel'、'Color');
上記のコマンドを使用すると、上記の属性値とともに新しい車が作成されます。 この新しいトランザクションを元帳に送信するには、次のコードを記述します。
ノードinvoke.js
これにより、元帳が正常に更新されます。
結論
これで、 HyperledgerFabricチュートリアルは終了です。 ブロックチェーンテクノロジーとHyperledgerFabricフレームワークは、世界中の複数の業界に革命を起こす可能性を秘めています。 このチュートリアルでは、Hyperledger Fabricフレームワークがどのように機能するか、および最初のトランザクションとアプリをそのフレームワークで実行する方法について簡単に説明しました。 詳細を知り、フレームワークを使用して実際のビジネスアプリケーションを開発する方法を学びたい場合は、ブロックチェーンテクノロジーコースでupGradおよびIIITBangaloreの高度な証明書プログラムに申し込むことができます。
イーサリアム、Hyperledger Fabric、分散アプリケーション開発(スマートコントラクト開発、バックエンド開発、API)などのブロックチェーンテクノロジーとフレームワークに関する250時間以上の学習教材。 ブロックチェーン開発のキャリアを追求したい場合は、今すぐ応募してください。