0
1

More than 5 years have passed since last update.

【和訳】開発環境の構築

Last updated at Posted at 2019-02-22

はじめに

和訳第四弾。

Installing the development environment の和訳です。
ガバガバ和訳でも英語読むよりマシという方は御覧ください。
関連チュートリアルに関しても(たぶん)上げます。
当方 Hyperledger Composer について学び始めたばかりであるため、指摘等大歓迎です。


本チュートリアルは、Hyperledger Composer 開発ツール(主にビジネスネットワークの構築に使用)を入手し、Hyperledger Fabric(主にビジネスネットワークをローカルで実行・デプロイするために使用)を開始するためのものです。作成したビジネスネットワークは異なる環境の Hyperledger Fabric ランタイム(例:クラウド・プラットフォーム)にもデプロイすることができます。

開始前に

必要事項のインストール に従ってインストールを行ってください。

本チュートリアルは、ツールを以前にインストールし、利用したことがないものとして扱います。違うのであれば、チュートリアルを進める前に、以前の設定が完全に破棄されていることを確認してください。破棄方法は 付録 に記載されています。

柔軟性を提供し、最大数のシナリオの開発・テスト・デプロイを可能にするために、Composer は npm でインストールされ、 CLI で制御可能なコンポーネントのセットとして提供されます。チュートリアルでは、まずインストール方法を示し、それから開発環境の制御方法を示します。

コンポーネントのインストール

Step 1. CLI ツールのインストール

Composer 開発者にとって便利な CLI ツールがいくつか存在します。最も重要なものは composer-cli です。これは、すべての必要不可欠な操作を含んでいるため、最初にインストールを行います。次に、generator-hyperledger-composercomposer-rest-serverYeoman をインストールします。これらは開発環境のコアとなるものではありませんが、チュートリアルの実行や、ビジネスネットワークと対話を行うアプリケーションの開発に非常に有用なものであるため、インストールを行います。

以下の npm コマンド実行時に su または sudo を使用しないでください。

  1. CLI ツールをインストールします。

    npm install -g composer-cli@0.20
    
  2. ビジネスネットワークを REST API として公開できるように、REST サーバ実行ツールをインストールします。

    npm install -g composer-rest-server@0.20
    
  3. アプリケーション生成に有用なツールをインストールします。

    npm install -g generator-hyperledger-composer@0.20
    
  4. Yeoman は generator-hyperledger-composer を利用しアプリケーションを生成します。

    npm install -g yo
    

Step 2. Playground のインストール

既にオンラインで Composer を体験している場合は、Playground アプリケーションを見たことがあるでしょう。開発環境でも、Playground をローカルで起動することができます。Playground は、ビジネスネットワークを見て、デモンストレーションするための UI を提供します。

  1. ビジネスネットワークに対するシンプルな編集、テストを提供するブラウザアプリケーションのインストールを行います。
npm install -g composer-playground@0.20

Step 3. IDE の設定

ブラウザアプリケーションはビジネスネットワークのコードを操作するために使用できますが、多くのユーザは IDE での作業を好みます。Composer 拡張機能が有効であるため、VSCode をおすすめします。

  1. VSCode をインストールします。
  2. VSCode を開き、Extensions1 へ移動し、マーケットプレイスから Hyperledger Composer を検索、インストールします。

Step 4. Hyperledger Fabric のインストール

このステップでは、ビジネスネットワークをデプロイするための、ローカルの Hyperledger Fabric ランタイムを提供します。

  1. チュートリアルのために選択したディレクトリ(~/fabric-dev-servers とします)で、Hyperledger Fabric をインストールするためのツールを含んだ.tar.gz ファイルを取得します。

    zip も利用可能です。zip を利用する場合は tar.gzzip に、tar -xvfunzip に変更してください。

    mkdir ~/fabric-dev-servers && cd ~/fabric-dev-servers
    
    curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz
    tar -xvf fabric-dev-servers.tar.gz
    
  2. ダウンロードして展開したスクリプトを利用し、ローカルの Hyperledger Fabric v1.2 ランタイムをダウンロードします。

    cd ~/fabric-dev-servers
    export FABRIC_VERSION=hlfv12
    ./downloadFabric.sh
    

典型的な開発環境に必要なすべてをインストールしました。ブロックチェーンビジネスネットワークの開発及びテストに際して、この環境で行う最も一般的な事柄のいくつかを学ぶために、チュートリアルを続行してください。

開発環境の制御

Hyperledger Fabric の起動と停止

~/fabric-dev-servers 内にあるスクリプトを利用して、ランタイムを制御できます。

まずは、新規ランタイムを開始するために、start スクリプトを実行し、PeerAdmin カードを作成する必要があります。

cd ~/fabric-dev-servers
export FABRIC_VERSION=hlfv12
./startFabric.sh
./createPeerAdminCard.sh

~/fabric-dev-servers/stopFabric.sh を利用してランタイムを停止することができます。再起動時は~/fabric-dev-servers/startFabric.sh を利用します。

開発セッション終了時には、~/fabric-dev-servers/stopFabric.sh を実行した後、~/fabric-dev-servers/teardownFabric.sh を実行します。teardown スクリプトを実行すると、次回起動時に、初回起動時同様 PeerAdmin カードの作成が必要となります。

ローカルのランタイムは開発用に頻繁に起動、停止、破棄されることが意図されています。より持続的な状態を持つランタイムを探している場合、開発環境の外で実行し、ビジネスネットワークをデプロイしたいでしょう。この場合の例として、Kubernetes を介した実行、または IBM Cloud といった管理されたプラットフォームでの実行などがあります。

web アプリケーション Playground の実行

以下のコマンドを実行し、web アプリケーションを起動します。

composer-playground

通常、自動的にブラウザで http://localhost:8080/login が開かれます。

web アプリケーションの My Business Networkページ上に、createPeerAdminCard スクリプトで作成した PeerAdmin@hlfv1 カードが表示されているはずです。表示されていなければ、正常にランタイムの起動が行われていない可能性があります。

すべてのコンポーネントが実行されました。また、開発セッション終了の際に、それらを停止、破棄する方法も学びました。

What's Next?

付録:以前の設定の破棄

Hyperledger Composer の以前のバージョンを利用したことがあり、新規インストールを行いたい場合、下記のコマンドで以前の Docker コンテナをすべて破棄する必要があります。

docker kill $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images dev-* -q)

  1. 左側アイコン一番下 

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1