2017年11月3日金曜日

Hyperledger Fabric Exploreを動かしてみる

Hyperledger Fabric ExploreがFabric 1.0.0に対応したということなので動かしてみる。

1.要件
・nodejs 6.9.x
・mysql 5.7 以上

2.インストール手順

①blockchain-explore資材のダウンロード
# git clone https://github.com/hyperledger/blockchain-explorer.git
# cd blockchain-explorer

②MySQLのインストール
# sudo apt install mysql-server
※インストール中にrootのパスワードを設定する。

③MySQLにrootでログインできることを確認する。
# mysql -u root -p
Enter password: XXX
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

➃MySQL用のデータベースを作成する。「fabricexplorer」というExplore専用のデータベースが作成される。
# mysql -u root  -p < db/fabricexplorer.sql
Enter password: XXX

ue'
Password: eiMiKcDTWwyJ
⑤Fabric向けの環境情報を設定する。
# vi config.json
★Fabricの環境にあわせて設定する
{
   "host":"localhost",
   "port":"8080",                           ★外部に公開するポート
   "channelsList": ["mychannel"], ★チャネルのリストを設定
   "GOPATH":"/usr/bin/go",
   "keyValueStore":"/tmp/fabric-client-kvs",
   "eventWaitTime":"30000",
   "enableTls":false,
   "users":[
      {
         "username":"admin",          ★CA管理ユーザ
         "secret":"XXX"
      }
   ],
   "mysql":{                                 ★MySQLの環境設定
      "host":"127.0.0.1",
      "port":"3306",
      "database":"fabricexplorer",
      "username":"root",
      "passwd":"XXX"
   }
}

#  vi ./app/network-config.json
★以下を環境に合わせて修正する。
★TLS通信を利用する場合は「network-config-tls.json」を修正する。
{
     "network-config": {
      "orderer": [{
        "url": "grpc://127.0.0.1:7050",
        "server-hostname": "orderer0.example.com"
      },{
        "url": "grpc://127.0.0.1:8050",
        "server-hostname": "orderer1.example.com"
      },{
        "url": "grpc://127.0.0.1:9050",
        "server-hostname": "orderer2.example.com"
      }],
      "org1": {
        "name": "peerOrg1",
        "mspid": "Org1MSP",
        "ca": "http://127.0.0.1:7054",
        "peer1": {
            "requests": "grpc://127.0.0.1:7051",
            "events": "grpc://127.0.0.1:7053",
            "server-hostname": "peer0.org1.example.com"
        },
        "peer2": {
            "requests": "grpc://127.0.0.1:8051",
            "events": "grpc://127.0.0.1:8053",
            "server-hostname": "peer1.org1.example.com"
        },
        "admin": {
            "key": "/fabric-docker-compose-svt/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore",
            "cert": "/fabric-docker-compose-svt/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts"
        }
      },
      "org2": {
        "name": "peerOrg2",
        "mspid": "Org2MSP",
        "ca": "http://127.0.0.1:8054",
        "peer1": {
            "requests": "grpc://127.0.0.1:9051",
            "events": "grpc://127.0.0.1:9053",
            "server-hostname": "peer0.org2.example.com"
        },
        "peer2": {
            "requests": "grpc://127.0.0.1:10051",
            "events": "grpc://127.0.0.1:10053",
            "server-hostname": "peer1.org2.example.com"
        },
        "admin": {
            "key": "/fabric-docker-compose-svt/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore",
            "cert": "/fabric-docker-compose-svt/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts"
        }
      }
     }
}

⑥ npmパッケージをインストールする。
# npm install

★失敗するときは、npm rebuild コマンドを実行し、全てリビルド。

⑦ 起動コマンドを実行する。
# ./start.sh

★ポート8080でnodeプロセスが起動する。
★停止したい場合は、pkill node コマンドを実行する。
★ログは同フォルダ配下のlog.logに出力される。

⑧ http://XXX.XXX.XXX.XXX:8080 にアクセスすると以下のようなダッシュボード画面が表示される。
★現状、認証機能はないため、だれでも閲覧可能である。
★PEERLISTに正しいPEER情報が表示されない。
★2つチャネルを作成しているのに、1つしかチャネルが表示されない。










0 件のコメント: