技術情報

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. ブロックチェーンの技術:公開鍵暗号
  2. ブロックチェーンの基本的な仕組み
  3. 【満席御礼】2018年3月1日開催 無料セミナー 《ブロックチェーンフェスティ…
  4. ブロックチェーンを活用した医薬品のデッドストック販売プラットフォーム PoC […

Related post

  1. 技術情報

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

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

  2. Blockchain 技術情報 Hyperledger Composer

    技術情報

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

    はじめに今回の目的は、「その1」で更新したビジネスネットワークを使…

  3. Ethereum

    技術情報

    Ethereum入門 – アカウントとマイニング

    前回はEthereumの概要についてお話しましたが、今回はUbuntu…

  4. Blockchain 技術情報

    技術情報

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

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

  5. Blockchain 技術情報

    技術情報

    IBM bluemixで HyperLedger Fabricの環境を構築してみる

    6月上旬となり一年ですごしやすい日々が続くはずの北海道ですが、日々シラ…

  6. Blockchain 技術情報

    技術情報

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

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

Comment

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

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

最近の記事

  1. AWS Blockchain Templates

おすすめ記事

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

    技術情報

    IBM bluemixで HyperLedger Fabricの環境を構築してみ…
  2. AWS Blockchain Templates

    技術情報

    【速習】AWS Blockchain Templatesを使ってHyperled…
  3. 公開鍵暗号方式

    ブロックチェーンとは

    ブロックチェーンの技術:公開鍵暗号
  4. Ethereum

    技術情報

    Ethereum入門 – アカウントとマイニング
  5. ビザンチン将軍問題

    ブロックチェーンとは

    「ビザンチン将軍問題」と「ブロックチェーン」の関係性
PAGE TOP