Hyperledger Fabric v1.0.0-beta版を作ってみた

# Hyperledger Fabric v1.0.0-beta版がリリース

6月上旬にFabric v1.0.0-beta版がリリースされたので動作確認をしてみようと思います。
(ベータ出るってアナウンスあったっけ…)

# 検証環境
- ubuntu 16.04 (vagrantのbento/ubuntu-16.04)
- メモリ 4GB
- CPU2コア

手順書は手動インストール用で記載されているので、今回はコミュニティ提供のVagrantfileは使用しません。

# 事前準備

- dockerとdocker-composeをインストールする。

```
# apt-get update
# apt-get install -y wget curl git
# wget -qO- https://get.docker.com/ | sh
# curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
```

# fabricのインストール
- 作業用ディレクトリを作成する

```
# mkdir fabric-sample
# cd fabric-sample
```

- インストール用スクリプトを実行すると、fabric-beta用のdocker imageがダウンロードできる。

```
# curl -sSL https://goo.gl/LQkuoh | bash
```

- こんな表示が出たら成功

```
===> List out hyperledger docker images
hyperledger/fabric-tools       latest              ae6b0f53cb70        6 days ago          1.32GB
hyperledger/fabric-tools       x86_64-1.0.0-beta   ae6b0f53cb70        6 days ago          1.32GB
hyperledger/fabric-couchdb     latest              31bbbec3d853        6 days ago          1.48GB
hyperledger/fabric-couchdb     x86_64-1.0.0-beta   31bbbec3d853        6 days ago          1.48GB
hyperledger/fabric-kafka       latest              c4ac1c9a4797        6 days ago          1.3GB
hyperledger/fabric-kafka       x86_64-1.0.0-beta   c4ac1c9a4797        6 days ago          1.3GB
hyperledger/fabric-zookeeper   latest              2c4ebacb6f00        6 days ago          1.31GB
hyperledger/fabric-zookeeper   x86_64-1.0.0-beta   2c4ebacb6f00        6 days ago          1.31GB
hyperledger/fabric-orderer     latest              11ff350dd297        6 days ago          179MB
hyperledger/fabric-orderer     x86_64-1.0.0-beta   11ff350dd297        6 days ago          179MB
hyperledger/fabric-peer        latest              e01c2b645f11        6 days ago          182MB
hyperledger/fabric-peer        x86_64-1.0.0-beta   e01c2b645f11        6 days ago          182MB
hyperledger/fabric-javaenv     latest              61c188dca542        6 days ago          1.42GB
hyperledger/fabric-javaenv     x86_64-1.0.0-beta   61c188dca542        6 days ago          1.42GB
hyperledger/fabric-ccenv       latest              7034cca1918d        6 days ago          1.29GB
hyperledger/fabric-ccenv       x86_64-1.0.0-beta   7034cca1918d        6 days ago          1.29GB
hyperledger/fabric-ca          latest              e549e8c53c2e        6 days ago          238MB
hyperledger/fabric-ca          x86_64-1.0.0-beta   e549e8c53c2e        6 days ago          238MB
```

- スクリプトでファイル一式がダウンロードされているので移動します。

```
# cd release/linux-amd64/
```

- docker-composeの設定ファイルにbeta用のタグを追加します。  
何もしないと設定されておらず、master版のdockerコンテナで起動してしまいます。  
以下の３ファイルを編集します。

    - docker-compose-cli.yaml
    - base/docker-compose-base.yaml
    - base/peer-base.yaml  

```
imageの欄に下記文字列を追加する  
:x86_64-1.0.0-beta  
```


# fabricの起動
起動すると簡易動作確認スクリプトが実行されるので、
チャンネル作成、peer登録、デプロイ&インスタンス化、クエリ実行までの一連の処理を実行してくれます。
自動実行してほしくない場合は、"docker-compose-cli.yaml"の"command: /bin/bash -c (以下略)"をコメントアウトしてください。


- 簡易起動方法

```
# ./network_setup.sh up
```

- チャンネル名、timeoutの設定付で起動する

```
# ./network_setup.sh up <channel-ID> <timeout-value>
```

# 停止方法
停止&コンテナ削除を行うので実施するときは注意が必要

```
# ./network_setup.sh down
```

# 参考資料
Getting Started
http://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html