ブロックチェーンソフトの「Hyperledger Fabric」をインストールしてみよう

ブロックチェーンの実装はいくつかあります。今回は、オープンソースのブロックチェーンのソフトでよく使われている「Hyperledger Fabric」を取り上げ、「WebARENA VPSクラウド」へのインストール手順を紹介します。

 

 

■Hyperledger Fabricの概要

■必要なソフトのインストール

■Hyperledger Fabricのインストールとテスト

 

 

■Hyperledger Fabricの概要

Hyperledgerは、Linux Foundationが主導するオープンソースのブロックチェーン関連プロジェクトで、複数のソフトやツールから構成されています。

Hyperledger Fabricはその中の1つで、中核的な製品です。IBMが開発したコードが元になっています。Hyperledgerプロジェクトには、ほかにもブロックチェーンの実装がありますが、Hyperledger Fabricはよく使われていて、注目されています。

Bitcoinとは異なり、Hyperledger Fabricはプライベート型のブロックチェーンです。企業内などでの利用を想定した作りになっています。

 

 

■必要なソフトのインストール

Hyperledger Fabricは複数のソフトに依存しています。そのため、Hyperledger Fabricをインストールする前に、必要なソフトを順にインストールする必要があります。

なお、CentOS 7のインスタンスを使い、インスタンスを作成した直後の状態から始めるものとします。また、インストールの操作は、SSHでターミナルに接続し、rootユーザーとしてログインして行います。

 

・必要なコマンドのインストール

まず、各種のソフトのダウンロードや設定を行うために、リスト1のコマンドを入力して、wget/curl/nano/gitの各コマンドをインストールします。

 

リスト1 wget/curl/nano/gitコマンドのインストール

yum install wget curl nano git

 

・Goのインストール

Hyperledger Fabricでは、そのコンポーネントの中で、プログラム言語の「Go」を使っている箇所が多いです。そこで、Go言語をインストールします。

Hyperledger Fabricでは、Go言語のバージョン1.10.xを使います。本記事執筆時点では、1.10系では1.10.4が最新で、リスト2のコマンドでインストールすることができます。

 

リスト2 Go言語のインストール

wget https://dl.google.com/go/go1.10.4.linux-amd64.tar.gz

tar xzvf go1.10.4.linux-amd64.tar.gz

cp -r -f go /usr/local

 

・Dockerのインストール

Hyperledger FabricはDockerのコンテナの形で配布されています。そこで、リスト3のコマンドでDockerをインストールし、起動します。

 

リスト3 Dockerのインストール

curl -fsSL https://get.docker.com/ | sh

systemctl daemon-reload

systemctl start docker

systemctl enable docker

 

・Docker Composeのインストール

Hyperledger Fabricは、複数のDockerコンテナから構成されます。そこで、それらを管理するために、コンテナ管理ツールのDocker Composeもインストールします。インストールはリスト4のコマンドで行います。

 

リスト4 Docker Composeのインストール

curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod 757 /usr/local/bin/docker-compose

exit

 

・設定ファイルの書き換え

GoおよびDocker Composeを動作させるために、「/etc/profile」という設定ファイルを書き換え、「PATH」の環境変数に値を追加するようにします。「sudo nano /etc/profile」のコマンドを実行して/etc/profileファイルを開き、最後までスクロールして、リスト5を追加します。

追加し終わったら、Ctrlキー+Xキーを押し、「Save modified buffer (ANSWERING “No” WILL DESTROY CHANGES) ?」のメッセージに対して「Y」のキーを押して、ファイルを保存します。

 

リスト5 /etc/profileに追加する部分

GOROOT=/usr/local/go

export GOROOT

PATH=$PATH:/usr/local/bin:$GOROOT/bin

 

その後、リスト6のコマンドを実行し、リスト5の書き換えを反映させて、PATH環境変数を設定します。

 

リスト6 リスト5を反映

source /etc/profile

 

 

■Hyperledger Fabricのインストールとテスト

準備が整ったところで、Hyperledger Fabricのインストールに進みます。

 

・サンプルとバイナリファイルのインストール

まず、Hyperledger Fabricのサンプルおよびバイナリファイルをインストールします。これはリスト7のコマンドで行います。

 

リスト7 サンプルとバイナリファイルのインストール

curl -sSL http://bit.ly/2ysbOFE | bash -s 1.2.0

 

・鍵などの作成

ファイルのインストールが終わったら、鍵などの情報を作成します。これは、リスト8のコマンドで行います。

なお、2行目のbyfnコマンドを実行した時点で、「Generating certs and genesis block for channel ‘mychannel’ with CLI timeout of ’10’ seconds and CLI delay of ‘3’ seconds」というメッセージが表示されます。ここでは「Y」のキーを押して、次に進みます。

 

リスト8 鍵などの作成

cd fabric-samples/first-network

./byfn.sh generate

 

・Hyperledger Fabricのネットワークの起動と動作のテスト

次に、リスト9のコマンドを実行して、Hyperledger Fabricのネットワークを起動し、動作のテストを行います。

コマンドを実行すると、「Starting for channel ‘mychannel’ with CLI timeout of ’10’ seconds and CLI delay of ‘3’ seconds」のメッセージが表示されますので、「Y」のキーを押して、Enterキーを押します。

 

リスト9 Hyperledger Fabricの起動

./byfn.sh up

 

このコマンドを実行すると、いくつかの「チェーンコード」(chaincode)が順に実行されます。チェーンコードは、Hyperledger Fabricでの処理を記述したプログラムで、トランザクションの実行などを行います。

byfnの実行が進み、最後に図1のような表示が出れば、テストは完了です。「./byfn.sh down」のコマンドを実行すると、ネットワークを終了することができます。

 

図1 byfnコマンドの実行が終わったところ

図1 byfnコマンドの実行が終わったところ

 

 

 

 

 

うちだ
サービスクリエーション本部所属        (監修:とみなが)       

オススメ記事