目次


IBM ブロックチェーンの基礎: 開発者向けクイック・スタート・ガイド

ブロックチェーン・ネットワークをセットアップしてコーディングを開始する方法

Comments

ブロックチェーン革命に参加してください!この developerWorks クイック・スタート・ガイドに従えば、ブロックチェーン・テクノロジーをまだ使ったことがないアプリケーション開発者でも、迅速にブロックチェーン・ネットワークを構築して、やり取りを開始できます。このガイドでは、最新の Hyperledger Fabric v1.0 アルファ版アーキテクチャーを使用してブロックチェーン・ネットワークをセットアップする手順、チェーン・コード (ネットワークのビジネス・ルール) をデプロイする手順、そしてビジネス・プロセスとデジタル・インタラクションを効率化するクライアント・アプリケーションを作成する手順を案内します。

概念

まずは、ブロックチェーン・ネットワークの概要と Hyperledger Fabric の役割について簡単に見ていきましょう。

ブロックチェーンを導入する理由

簡単に言うと、ブロックチェーン・ネットワークとは、ビジネス資産を交換するための分散型システムのことです。ブロックチェーン・ネットワークでは、参加者が分散されたレジャーを共有し、ネットワーク内で行われる参加者間の資産のトランザクション履歴を共有レジャーに記録します。ブロックチェーン・ネットワークは、サード・パーティーの金融機関やトランザクションの仲介者を必要としません。ネットワークに加わっているすべての参加者の信用、説明責任、透過性の基礎としてコンセンサス・メカニズムを使用します。このブロックチェーン・ネットワークの概念は、ブロックチェーン・テクノロジーの初の実装となったビットコインによって広まりましたが、ブロックチェーンの実際的な使用事例は暗号通貨だけにとどまらず、多岐に広がっています。

Hyperledger Fabric を選ぶ理由

最近の市場の需要に対応するために、IBM は他社と協力して業界に焦点を絞ったオープンソースのブロックチェーン・テクノロジー実装の開発を進めています。Hyperledger Fabric と名付けられた、このビジネス向けブロックチェーン・テクノロジー実装は、The Linux Foundation の Hyperledger Project によってホストされています。Hyperledger Fabric は、パーミッション型ネットワークにおける分散レジャー・ソリューションのプラットフォームであり、高度なスケーラビリティー、プライバシー、機密性を実現するモジュール式アーキテクチャーとなっています。

以下の動画で、Hyperledger Fabric がビジネス向けブロックチェーンをサポートする仕組みをご覧ください。

1

ブロックチェーン・ネットワークと開発環境をセットアップする

概念を理解したところで、最初のステップとして、コードを開発、テスト、デプロイできるブロックチェーン・ネットワークを開始します。ブロックチェーン・ネットワークを開始するには、Bluemix 上の IBM Blockchain サービスを利用するという方法、または GitHub 上でホストされている GitHubコード・ベースを使用するという方法の 2 つがあります。

オプション 1: Bluemix 上の Blockchain サービスを利用する

Bluemix 上の IBM Blockchain サービスでは、いくつかのネットワーク・プランがサポートされています。その中に、Starter Developer Network プラン (ベータ版) がありますが、このプランでは新規加入の受け付けを停止しました。このプランは、Hyperledger Fabric v0.6 をベースとしているプランです。

High Security Business Network プラン (限定ベータ版) は、新しい加入者を受け付けており、Hyperledger Fabric v1.0 アルファ版がベースとなっています。このプランでは、簡単なメカニズムを通じて Bluemix 組織に参加し、分散ブロックチェーン・ネットワークを構築することができます。しかも、このプランが稼働する IBM LinuxONE 上の環境では、ネットワーク・リソース (ピア、注文者、認証局、ソース・コード、およびレジャー) のすべてが IBM Secure Service Container (SSC) 内に格納されるため、ネットワーク・リソースが高度なセキュリティーで保護されることになります。プライベート・ブロックチェーン・ネットワークを設計して構築しなくても、すぐにチェーン・コード・アプリケーション (ビジネス・ルール) を作成してテストできるというわけです。

この Blockchain サービスのベータ版にサインアップする方法は、以下のとおりです。

  1. Bluemix 内の Blockchain サービス・ページにアクセスします。
  2. 「価格プラン」の下にある「High Security Business Network vNext (Limited Beta)」を選択します。
  3. 「Create (作成)」をクリックします。表示されるフォームに会社名とどのような理由でこのベータ版を試すのかを記入して、サインアップします。

詳細については、以下を参照してください。

オプション 2: GitHub 上の Hyperledger Fabric コード・ベースを使用する

もう 1 つの方法として、GitHub から直接 Fabric コード・ベースをコピーして、起動、構成、テストのプロセスを DockerHub スクリプトによって効率よく処理することもできます。以下のリンク先の手順に従うと、完全に機能するブロックチェーン・ネットワークが完成します。

2

チェーン・コードを作成、デプロイ、テストする

チェーン・コードとは、ピア・ノードのネットワークにデプロイされて、そのネットワークの共有レジャーとのインタラクションを可能にするコードのことです。共有レジャーとのインタラクションは、チェーン・コードに設定されているビジネス・ルールに従って行われます。ネットワーク上でトランザクションを起動するたびに、チェーン・コード内の関数が呼び出されて、レジャーから値を読み取ったり、レジャーに値を書き込んだりすることになります。チェーン・コードは、サポート対象言語 (Go (GoLang) や Java など) のうちの 1 つで作成されて、SDK または CLI によってピア・ノードのネットワークにインストールされ、インスタンス化されます。

  • チェーン・コードについては、このリンク先のページ「What is chaincode?」を参照してください。
  • このリンク先のチュートリアル「Learn Chaincode」でチェーン・コードの作成方法を学ぶことができます。
  • チェーン・コードの基礎を説明するサンプル・アプリについては、このリンク先の「Marbles Demo」を参照してください。
  • Fabric v1.0 のサンプル・チェーン・コードは、このリンク先のページで確認できます。
3

チェーン・コード・アプリを呼び出すクライアント・サイド・アプリを作成してデプロイする

ブロックチェーン・ネットワークにチェーン・コードを登録したら、次は、そのチェーン・コードに書き込んだビジネス・ルールの読み取り、書き込み、呼び出しを実行できるクライアント・サイドのアプリケーションを作成する必要があります。Hyperledger Fabric Client SDK は、アプリケーションが Hyperledger Fabric ブロックチェーンとやり取りするための API を使用する、強力かつ簡単な手段となります。

HFC SDK を利用する Node.js アプリケーションを使用することで、以下のネットワーク・タスクを実行できます。

  • ユーザーをセキュアに登録して参加させる。登録権限を持つ Web アプリケーション管理者は、Web アプリケーションに対して認証されたユーザーを動的に登録して参加させることができます。
  • ブロックチェーン・ネットワークにトランザクション (デプロイ、呼び出し、クエリー) を送信する。すべてのトランザクションは匿名かつ機密であり、監査人の権限がなければリンクできません。
  • 機密のプライベート・キーおよび証明書を任意の場所 (ブロックチェーン・データベースの外部など) に保管する。これには、単純なキー・バリュー型ストア・インターフェースの実装が必要になります。

オプション 1: Bluemix を使用してクライアント・アプリを作成する

Hyperledger Fabric Client SDK API を使用して Bluemix 上のブロックチェーン・ネットワークとやり取りするには、以下のリンク先の手順に従ってください。

オプション 2: DockerHub イメージを使用してクライアント・アプリを作成する

DockerHub イメージを使用する場合は、以下のリンク先の手順に従って、Node.js 対応の Hyperledger Fabric Client SDK を使用します。

4

ブロックチェーン・ネットワークおよびアプリをモニターして管理する

ブロックチェーン・ネットワークとアプリケーションを管理するには、ダッシュボードが便利です。

オプション 1: Bluemix を使用したモニター

Bluemix 上の IBM Blockchain サービスでは、組み込みダッシュボードにパフォーマンス・データ、デプロイ済みチェーン・コード、ネットワーク・リソースを含むブロックチェーン環境の概要が表示されます。このダッシュボード・モニターを使用して、ネットワーク・コンポーネントを管理できます。

オプション 2: DockerHub イメージを使用したモニター

Hyperledger DockerHub イメージを使用する開発者は、Blockchain Explorer をユーザー・インターフェースとして使用できます。初期リリースに用意されている UI を使用して、トランザクション情報、ネットワーク・アクティビティー、最新のブロックをはじめ、ネットワークの現在の状態を探索して調べることができます。

  • Blockchain Explorer を使用するには、このリンク先の DockerHub から入手してください。
5

Hyperledger Fabric の構築に協力する

皆さんもこのプロジェクトに関与してください!皆さんが Hyperledger Fabric に貢献できるよう、このプロジェクトでは RocketChat を使用してコミュニケーションを取ったり、Google Hangouts を使用して開発者間で画面を共有したりできるようになっています。開発の計画と優先順位付けは JIRA で行われており、長期にわたるディスカッションと意思決定はメーリング・リストに回されます。

Fabric の保守担当者たちは、レビュー対象として提出されたパッチをすべてレビューしてマージしています。彼らは Hyperledger Project の Technical Steering Committee (TSC) によって制定されたガイドラインに沿って全体的な技術的方向を導いています。

6

ヘルプとサポートの入手方法

サポートが必要な場合や、質問の答えを見つける場合は、以下の手段があります。

  1. Bluemix に関するヘルプが必要な場合:
    まず、このリンク先のサポートおよび既知の問題に関するページを調べます。このサービスに関して現在見つかっている異常に加え、Hyperledger Fabric コードの新しいコミットに関するリリース・ノートを確認できます。
     
  2. ブロックチェーンに関する一般的な質問がある場合:
    このリンク先の developerWorks Blockchain コミュニティー・サポートのページにアクセスして、dW Answers ですでに答えが出ている質問を検索して答えを見つけるか、Stack Overflow を使用して新しい質問を送信します。
     
  3. Hyperledger Fabric コード・ベースに関するヘルプが必要な場合:
    このリンク先の Hyperledger Channel Guide の Fabric チャネルを参照し、質問内容に適したディスカッション・グループに参加します。
     
  4. 質問の答えが見つからない場合:
    GitHub 上でホストされている、このリンク先の IBM Blockchain Issues から、IBM Blockchain 開発チームにお問い合わせください。

次のステップ

このクイック・スタート・ガイドの締めくくりとして、ブロックチェーン探究の旅を続けるための 2 つの素晴らしい方法を紹介します。

  • developerWorks の Blockchain ニュースレターで最新情報を入手します。現在の問題サブスクライブについて調べてください。
  • このリンク先の developerWorks Blockchain Developer Center にアクセスします。ここには、IBM Blockchain と Hyperledger Fabric を使用して開発するための無料のツールとチュートリアルが揃っているだけでなく、コードとコミュニティー・サポートも入手できます。

ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=1040108
ArticleTitle=IBM ブロックチェーンの基礎: 開発者向けクイック・スタート・ガイド
publish-date=07202017