技術情報

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.
nagi
エンジニア。 肉とスイーツが大好物。

Pickup post

  1. ブロックチェーンの技術:公開鍵暗号
  2. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […
  3. ブロックチェーンの基本的な仕組み

Related post

  1. Blockchain 技術情報

    技術情報

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

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

  2. Ethereum

    ブロックチェーンとは

    Ethereum入門:5分でわかるEthereum(イーサリアム)とは?

    昨年よりメディア等でよく話題に上がるブロックチェーン技術。暗号通貨を含…

  3. Blockchain 技術情報

    技術情報

    Macにgethを入れてEthereumの内部通貨etherを手に入れる

    こんにちは。badyと申します。最近、金融やIT業界の一部では…

  4. Blockchain 技術情報

    技術情報

    勉強会「初めてでもここまでできるブロックチェーン」第2部の内容紹介

    こんにちは。先日、6月30日に株式会社INDETAILにて勉強会「…

  5. Blockchain 技術情報

    技術情報

    Windowsにgethを入れてEthereumの内部通貨etherを手に入れる

    ブロックチェーン初心者の自分が、手始めに「WindowsでEthere…

  6. Ethereum

    技術情報

    Ethereumで複数ノードをつなげてプライベートネットワークを作ってみる

    以前本Blog内にて各OS別Ethereumのインストール及び簡単な操…

Comment

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

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

最近の記事

  1. Blockchain 技術情報 Hyperledger Composer
  2. INDETAIL × Orb
  3. BHIP PoC 構想イメージ
  4. No Mapsブロックチェーンカンファレンス

おすすめ記事

  1. ブロックチェーンを活用した医薬品のデッドストック販売プラット…
  2. ブロックチェーンの基本的な仕組み
  3. Ethereum入門:5分でわかるEthereum(イーサリ…
  1. ブロックチェーンセミナー4月

    イベント情報

    満員御礼★【参加無料】4月7日開催!「ブロックチェーン」の基本を学ぶ初心者向けセ…
  2. ブロックチェーン用語集

    ブロックチェーン用語集

    P2P(ピア・ツー・ピア)
  3. Blockchain 技術情報

    技術情報

    Windowsにgethを入れてEthereumの内部通貨etherを手に入れる…
  4. whats-hyperledger

    ブロックチェーンとは

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

    ブロックチェーンとは

    ブロックチェーンと分散型データベースの違い
PAGE TOP