本情報は、2018年5月15日時点です。
Hyperledger Composer、公式ドキュメントの指示通りにやって環境構築に失敗し挫折することが多いそうで、原因の1つに英語ドキュメントしかないというのもあると思いますが、Hyperledger Fabric 1.1 の環境構築手順の備忘録です。Hyperledger Fabric 1.0の環境構築はこちらになります。
Hyperledger ComposerとHyperledger Fabric 1.1を入れる
前提環境を整える
使用するOSは、「Ubuntu Server 16.04 LTS」です。ほとんどのクラウドサービスで採用されていますし、メーカーから購入できるサーバーでもサポート対象になっています。
Ubuntuベースで、Hyperledger Fabric 1.1 と関連ミドルウェアを入れるために必要な環境を構築していきます。Hyperledger Composer DocsのInstalling pre-requisites部分です。
Docker CEを入れる
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get -y install docker-ce
sudo docker -v
sudo usermod -aG docker $(whoami)
上記実行後、ログアウトし、再ログインします。
Docker Composeを入れる
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Node.jsを入れる
Hyperledger Fabric 1.0ではNode.js 6.x系が必要でしたが、Hyperledger Fabric 1.1では、Node.js 8.x 系を使用します。
sudo apt-get update -y && sudo apt-get upgrade -y
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs gcc g++ make
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-get install yarn
関連npmとHyperledger Fabric 1.1を導入
Hyperledger Fabric 1.1を使用するには、composer 0.19.x系が必要です。
公式ドキュメントHyperledger Composer DocsのInstalling the development environmentの手順通りに実施するとエラーがでましたのでアレンジしています。
関連npmパッケージをインストール
sudo npm install composer-cli@0.19.4
sudo npm install -g --unsafe-perm composer-cli@0.19.4
sudo npm install -g --unsafe-perm composer-rest-server@0.19.4
sudo npm install -g --unsafe-perm generator-hyperledger-composer@0.19.4
sudo npm install -g --unsafe-perm yo
sudo npm install -g --unsafe-perm composer-playground@0.19.4
Hyperledger Fabric 1.1を導入
sudo service docker restart
mkdir fabric && cd fabric
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
./downloadFabric.sh
./startFabric.sh
./createPeerAdminCard.sh
Hyperledger Fabric 1.1を使用しますので、Hyperledger Fabric 1.0のときのように、「startFabric.sh」を書き換える必要はなく、淡々と実行していきます。
「./createPeerAdminCard.sh」を実行することで下記のように表示されます。Command succeededと表示され、エラーが起きなければ成功です。
Development only script for Hyperledger Fabric control
Running 'createPeerAdminCard.sh'
FABRIC_VERSION is unset, assuming hlfv11
FABRIC_START_TIMEOUT is unset, assuming 15 (seconds)
Using composer-cli at v0.19.4
Successfully created business network card file to
Output file: /tmp/PeerAdmin@hlfv1.card
Command succeeded
Successfully imported business network card
Card file: /tmp/PeerAdmin@hlfv1.card
Card name: PeerAdmin@hlfv1
Command succeeded
The following Business Network Cards are available:
Connection Profile: hlfv1
lqqqqqqqqqqqqqqqqqwqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqk
x Card Name x UserId x Business Network x
tqqqqqqqqqqqqqqqqqnqqqqqqqqqqqnqqqqqqqqqqqqqqqqqqu
x PeerAdmin@hlfv1 x PeerAdmin x x
mqqqqqqqqqqqqqqqqqvqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqj
Issue composer card list --card <Card Name> to get details a specific card
Command succeeded
Hyperledger Composer PeerAdmin card has been imported, host of fabric specified as 'localhost'
Playgroundの起動
Playgroundを実行します。コマンド実行後、Webブラウザで、http://localhost:8080/login にアクセスします。
$ composer-playground
これで環境構築できましたので、続きは公式ドキュメントのPlayground TutorialやDeveloper Tutorialを実施していきます。