Hyperledger Fabric Ethereum 仮想マシンを使用して、ロイヤルティー・ポイント用ブロックチェーン・アプリを作成する  

EVM を使用して Fabric をローカルにデプロイし、Node.js Web アプリを介してスマート・コントラクトとやり取りするプロキシーを作成する

By Raheel Zubairy

Description

Hyperledger Fabric では、モジュール式アーキテクチャーとコンセンサス・プロトコルを使用して、ネイティブの暗号通貨を必要としないブロックチェーン・ネットワークを構築できます。Ethereum は、分散型アプリケーション用のスマート・コントラクトを作成し、ライブラリーを使ってスマート・コントラクトとやり取りするための構造化された革新的プラットフォームです。Ethereum では、例えば Ethereum の Solidity を利用してスマート・コントラクトを作成し、web3.js ライブラリーを使用してスマート・コントラクトとやり取りできます。このコード・パターンでは、これらのツールを Hyperledger Fabric ネットワークを使用したブロックチェーン・ネットワークで利用する方法を説明します。Ethereum 仮想マシン (EVM) を使用して Fabric をローカルにデプロイする手順、そして Node.js Web アプリケーションを介してスマート・コントラクトとやり取りするプロキシーを作成する手順を学んでください。

Overview

このコード・パターンで説明する Hyperledger Fabric EVM では、開発者が Solidity などの EVM スマート・コントラクト言語を使用してブロックチェーン・アプリケーションを作成できます。Solidity で作成したスマート・コントラクトは、Fabric ピア上で実行される EVM チェーンコードにデプロイします。このパターンの使用ケースでは、ロイヤルティー・ポイント・プログラムのメンバーまたはパートナーとしてのユーザーが、Fabric ネットワークのプロキシーとしての Fab3 を介してスマート・コントラクトとやり取りする仕組みを説明します。Fab3 では Ethereum web3.js ライブラリーを使用して、Fabric ネットワーク内の EVM とやり取りできます。

このコード・パターンで対象としているのは、Hyperledger Fabric EVM を使用して Solidity スマート・コントラクトを統合したブロックチェーン・アプリケーションを作成することを目指している開発者です。このパターンを完了すると、以下の方法がわかるようになります。

  • EVM チェーンコードを使用した Hyperledger Fabric インスタンスをローカルにデプロイする
  • Fab3 インスタンスを起動して Fabric ネットワークとやり取りする
  • web3 ライブラリーを使用して、Solidity スマート・コントラクトとやり取りする
  • web3 ライブラリーを使用して、Node.js ブロックチェーン Web アプリケーションを構築する

Flow

  1. ロイヤルティー・ポイント・プログラムのパートナーが自分のアカウント用の fab プロキシーを使用してブロックチェーン・ネットワークにアクセスします。最初のパートナーがスマート・コントラクトをブロックチェーン・ネットワークにデプロイします。
  2. パートナーがプロキシーを介して Web アプリケーションにアクセスし、ネットワークに登録します。登録後は、すべてのトランザクションを表示できるようになります。
  3. ロイヤルティー・ポイント・プログラムのメンバーが自分のアカウント用の fab プロキシーを使用してブロックチェーン・ネットワークにアクセスします。
  4. メンバーがプロキシーを介して Web アプリケーションにアクセスし、ネットワークに登録します。登録後は、ネットワーク上のパートナーからポイントを獲得するためのトランザクションやポイントを交換するためのトランザクションを行ったり、すべてのトランザクションを表示したりできます。
  5. Web アプリケーションでは Ethereum web3.js ライブラリーを使用してスマート・コントラクトを実行します。
  6. ピア上にインストールされた EVM チェーンコードにより、スマート・コントラクトの実行結果がネットワーク上で更新されます。

Instructions

詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. EVM チェーンコードを使用した Hyperledger Fabric インスタンスをローカルにデプロイします。
  2. Fab3 をセットアップします。
  3. スマート・コントラクトをデプロイします。
  4. 2 つ目の Fab3 をセットアップします。
  5. Web アプリケーションを実行します。

Related Patterns

Java 対応の Hyperledger Fabric SDK を使ってブロックチェーン・ネットワークを作成し、デプロイする

チャネルのセットアップと初期化、チェーンコードのインストールとインスタンス化を行って、ブロックチェーン・ネットワークに対して呼び出しとクエリーを実行する。


Related Blogs

Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

皆さん、こんにちは。IBM デベロッパーアドボケイト戸倉彩です。 グローバルハッカソンは目標をもって仲間と一緒 […]

続けて読む Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始