技術情報

Hyperledger Composerのチュートリアルをやってみる

Blockchain 技術情報 Hyperledger Composer

はじめに

PoCが一段落し、さらにブロックチェーンを使って実装の知識を深めるにあたり、Hyperledger ComposerというものがあることをPoCチームメンバに教えてもらいました。
Hyperledger Composerとは何か?についてはこちらに記載がありますので、ご参照ください。
ざっくり言うと、「ブロックチェーンアプリケーションを素早く作成するための開発フレームワーク」です。

おおまかな流れとしては、以下のようなイメージでアプリを作成できるようです。

  1. Hyperledger Composerを使用して、モデル、スクリプト、アクセス制御、クエリファイルで構成されたビジネスネットワーク定義を作成する。
  2. 1.のビジネスネットワーク定義をパッケージ化し、アーカイブとしてエクスポートしたものを、Hyperledger Fabricなどに展開する。

上記についてチュートリアルを進めて理解を深めていきます。

環境構築

前提条件として、開発環境を構築しておく必要があります。こちらを参照して、環境構築を行います。
Mac の場合はこちらも参考に構築します。

「Step 1: Installing Hyperledger Composer development tools」まで進めておきます。
最終的に、自分の環境は以下のようになりました。

– Operating Systems: macOS Sierra Version 10.12.6
– Docker Engine: Version 17.0.9.0-ce-mac35(19611)
– Docker-Compose: Version 1.11.2
– Node: v6.9.5
– npm: v3.10.10
– git: 2.11.0
– Python: 3.5.0
– VSCode: 1.18.0(Hyperleger Composerの拡張: 0.15.0)

Hyperledger Fabricの起動

Step 2: Starting Hyperledger Fabricを参考に、先に展開先のHyperledger Fabricを起動しておきます。

・必要なファイルのダウンロードと解凍

・起動

チュートリアル

チュートリアルはいくつかありますが、今回はDeveloper Tutorial for creating a Hyperledger Composer solutionをやってみます。

ステップ1:ビジネスネットワーク構造の作成

環境構築が完了したら、ステップ1から進めていきます。
Yeomanを使用して、スケルトンのビジネスネットワークを作成します。
以下のコマンドを実行し、対話形式で必要な情報を設定していきます。

以上でスケルトン完成です。
「tutorial-network」というディレクトリができているので、これをVSCodeで開いておきます。

ステップ2:ビジネスネットワークの定義

・モデルの定義
「models」ディレクトリ下にある「org.acme.biznet.cto」ファイルを開き、以下のように書き換えます。
言語の説明はHyperledger Composer Modeling Languageが参考になります。

・スクリプト追加
続いて、「lib」ディレクトリ下にある「logic.js」ファイルを開き、以下のように書き換えます。

・アクセス制御
「tutorial-network」ディレクトリ下に「permissions.acl」ファイルを作成し、アクセス制御のルールを追加します。

ステップ3:アーカイブ作成

ここからはコマンドライン操作に戻ります。
コマンドラインで「tutorial-network」ディレクトリへ移動し、以下のコマンドを実行します。

成功すると、同ディレクトリに「tutorial-network@0.0.1.bna」ができあがります。

ステップ4:デプロイ

こちらで起動したHyperledger Fabricにデプロイします。以下のコマンドを順に実行していくだけです。

1. composer runtimeをインストールする。

2. ビジネスネットワークを展開する。

3. ネットワーク管理者IDをインポートする。

4. 正常に展開されたか確認する。

ステップ5:RESTサーバ生成

以下のコマンドを実行するだけです。

「http://localhost:3000」にブラウザでアクセスしてみると、このような画面が出てきます。

それぞれのAPIにある「Try it out!」ボタンをクリックすると、APIを実行することができます。

Hyperledger Fabricの終了

起動したHyperledger Fabricを終了するには、以下のコマンドを実行します。

まとめ

以上で一通りチュートリアルが完了しました。
思ったよりも簡単にブロックチェーンアプリが作成できました。

ブロックチェーンを使って何か作ってみたいけど敷居が高そう…と敬遠されている方も、Hyperleger Composerなら簡単に作成することができるので一度試してみることをオススメします。

The following two tabs change content below.
Blockchain Online 編集部
北海道札幌市でゲームサービス事業とニアショア開発事業を展開している株式会社INDETAILが、ブロックチェーン技術者の育成支援とブロックチェーンの啓蒙を目的として本サイトを運営しています。 http://www.indetail.co.jp/

Pickup post

  1. 【満席御礼】2018年3月1日開催 無料セミナー 《ブロックチェーンフェスティ…
  2. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
  3. 【参加無料】2018年1月24日 エンジニア向けブロックチェーン無料セミナー開催…
  4. ブロックチェーンの技術:公開鍵暗号
  5. ブロックチェーンの基本的な仕組み

Related post

  1. 技術情報

    超簡単なBlockchainプロトタイプを Golang で構築

    はじめにBlockchainの使い道や可能性として様々なユースケー…

  2. Blockchain 技術情報

    技術情報

    Raspberry Pi(ラズパイ)でEthereumを動かす

    はじめまして。IoT機器でブロックチェーンが世の中に偏在する世界を妄想…

  3. Blockchain 技術情報

    技術情報

    DockerでHyperLedger Fabricの実行環境を構築する(v0.6.1向け)

    はじめまして。最近BlockChainを触り始めたlumberです。…

  4. Blockchain 技術情報 Hyperledger Composer

    技術情報

    Hyperledger Composer クエリチュートリアルをやってみる その1

    はじめに今回の目的は、ビジネスネットワーク定義後の次のステップとし…

  5. AWS Blockchain Templates

    技術情報

    【速習】AWS Blockchain Templatesを使ってHyperledger Fabric…

    tacckです。各クラウドでブロックチェーンの実行環境を構築するた…

  6. Blockchain 技術情報

    技術情報

    JSON-RPC API で geth を便利に使う

    ブロックチェーンは、今後多くのサービス・システムに利用されることが期待…

Comment

  1. 本記事に対するコメントはまだありません

  1. 本記事に対するトラックバックはまだありません

最近の記事

  1. AWS Blockchain Templates

おすすめ記事

  1. ブロックチェーンの基本的な仕組み
  2. 【参加無料】2018年1月24日 エンジニア向けブロックチェ…
  3. ブロックチェーンを活用した医薬品のデッドストック販売プラット…
  1. ブロックチェーンとは

    ブロックチェーンとは

    ブロックチェーンの基本的な仕組み
  2. ブロックチェーン用語集

    ブロックチェーン用語集

    P2P(ピア・ツー・ピア)
  3. whats-hyperledger

    ブロックチェーンとは

    Hyperledger入門 : Hyperledger(ハイパーレッジャー)って…
  4. データセンター

    ブロックチェーンとは

    ブロックチェーンと分散型データベースの違い
  5. ブロックチェーンとは

    ブロックチェーンの合意形成アルゴリズムについて
PAGE TOP