Hyperledger Fabric v1.4 のサンプルアプリケーションを AWS EC2 で動かしてみる
はじめに
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: false
をisUbuntu: 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
を開放しているので、ブラウザで以下のページが見れるようになっていれば成功です。
おわりに
Hyperledger Fabric v1.4 のサンプルアプリケーションを動かすところまでできました。
SDKを使ったアプリケーション側の実装がまだよく分からないので動かしながら、勉強していくしかないですね。
Author And Source
この問題について(Hyperledger Fabric v1.4 のサンプルアプリケーションを AWS EC2 で動かしてみる), 我々は、より多くの情報をここで見つけました https://qiita.com/InaLab/items/69b0e11fc45281b63afc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .