1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Hyperledger Fabric v1.4 のサンプルアプリケーションを AWS EC2 で動かしてみる

Last updated at Posted at 2019-10-27

はじめに

HyperledgerFabricって公式サンプル以外に実装例が全然なくて(特に日本語だと…)、色々と調べるだけでどんどん時間が溶けていきます。特に安定版としてリリースされた v1.4 の実装例はほとんど見つかりません。エンタープライズユースが中心で、 Qiita や GitHub などではオープンにしづらいということなんでしょうかね。

さて、この記事では以下のリポジトリのサンプルを AWS EC2 で動かしてみたので、その手順を備忘録的にまとめています。

Build Blockchain Insurance Application

サンプルを動かすまでの流れ

AWS EC2 (Ubuntu-18.04)でインスタンス作成

EC2でインスタンスを作成。OS は Ubuntu-18.04 を選択しておきます。インスタンスタイプは適当に t2.xlarge とかでよいです。

セキュリティグループは、SSHとカスタムTCPルールを設定します。SSHはポート22を、カスタムTCPルールではポート3000を空けておきましょう。

インスタンスへSSH接続

作成したインスタンスへSSHで接続し、ターミナルで操作していきます。

SSHで接続する際のユーザー名はubuntuであることに注意。普段はよくec2-userで入ることが多いので、ここで少しハマりました。OSがAmazonLinuxのときはec2-user、Ubuntuのときはubuntuなので注意。

Build Blockchain Insurance Applicationリポジトリをクローンする前に必要な環境を整えます。

DockerとDockerComposeをインストール

aptパッケージを更新

$ sudo apt-get update

HTTPS経由でリポジトリを使用できるようにパッケージをインストール

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Dockerの公式GPGキーを追加

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

stableリポジトリの設定

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

もう一度aptパッケージを更新

$ sudo apt-get update

Dockerをインストール

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

sudoがなくても一般ユーザーがDockerを実行できるように設定

// ユーザーの確認
$ whoami
ubuntu

// 初期設定では使えない
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at ~

// 権限の確認
$ cat /etc/group | grep docker
docker:x:999:

// 権限の追加
$ sudo gpasswd -a ubuntu docker

// 追加されたことを確認
$ cat /etc/group | grep docker
docker:x:999:ubuntu

// Dockerが使用するソケットを一般ユーザーが読み込めるように
$ sudo chmod 666 /var/run/docker.sock

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

DockerComposeをインストール
インストール前に/usr/local/bin/へ移動

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

実行可能権限を適用

$ sudo chmod +x /usr/local/bin/docker-compose

インストールの確認

$ docker-compose --version
docker-compose version 1.24.1, build xxx~

Node.js、nvm、npmのインストール

nvm(ノードバージョンマネージャ)をインストール

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash

$ . ~/.nvm/nvm.sh

nodejsとnpmのインストール

$ nvm install 8.9.4

$ node -v
v8.9.4

$ npm -v
5.6.0

pythonのインストール

Ubuntu-18.04にはデフォルトでpython3が入っているので、python2は別途インストールする必要がある。

$ sudo apt-get install python

Gitのインストール

$ sudo apt-get install git

アプリケーションを実行

リポジトリのクローンを作成

$ git clone https://github.com/IBM/build-blockchain-insurance-app

Dockerへログイン

$ docker login

Ubuntuで実行する際、configファイルを一部修正します。

// フォルダを移動
// /build-blockchain-insurance-app/web/www/blockchain/

// vimで修正
$ vi config.js

/build-blockchain-insurance-app/web/www/blockchain/config.jsの9ライン目のisUbuntu: falseisUbuntu: trueへ書き換え。

シェルの実行

$ cd build-blockchain-insurance-app

$ ./build_ubuntu.sh

これでしばらくするとネットワークが作成されて、ブラウザからアプリケーションを触れるようになります。

URL : http://ec2-xx-xx-xx-xx.compute-x.amazonaws.com:3000/

EC2インスタンスのパブリックDNSに:3000/を付ければOKです。セキュリティグループの設定でポート:3000を開放しているので、ブラウザで以下のページが見れるようになっていれば成功です。

hlfsample1.png

おわりに

Hyperledger Fabric v1.4 のサンプルアプリケーションを動かすところまでできました。

SDKを使ったアプリケーション側の実装がまだよく分からないので動かしながら、勉強していくしかないですね。

1
1
1

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?