1
0

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 1 year has passed since last update.

Hyperledger Fabricのblockchain explorerを構築してみる

Last updated at Posted at 2023-03-04

Hyperledger Fabricのブロック状態を可視化できるblockchain explorerを構築してみます。

前提となる環境

前回、ローカル環境にHyperledger Fabricを構築しました。
こちらの手順にてあらかじめFabricの各サービスを起動しておきます。
Block explorerは8080ポートを使用します。ほかのアプリケーションが8080ポートを使用していないことを確認します。
なお、以下の手順はFabric CAを使用しない場合の設定です。

Hyperledger Fabric Explorerの構築

構築に必要なファイルの準備

fabric-samplesフォルダと同階層に、blockchain-explorerコードをGitからcloneします。
cloneしたらtest-networkの証明書関連の情報を、explorerのフォルダにコピーします。

$ pwd
/c/Users/dssfan/fabric-samples
$ cd ../
$ git clone https://github.com/hyperledger-labs/blockchain-explorer
$ cd blockchain-explorer
$ cp -r ../fabric-samples/test-network/organizations .

設定ファイルの修正

blockchain-explorer下にコピーしたorganizations以下の証明書のパスを設定ファイルに記載します。
User1の情報として記載されている部分を、Adminの情報に置き換えます。

赤字:修正前
緑字:修正後

$ git diff

diff --git a/examples/net1/connection-profile/test-network.json b/examples/net1/connection-profile/test-network.json
index 44eb3dc..53b0812 100644
--- a/examples/net1/connection-profile/test-network.json
+++ b/examples/net1/connection-profile/test-network.json
@@ -29,11 +29,11 @@
                "Org1MSP": {
                        "mspid": "Org1MSP",
                        "adminPrivateKey": {
-                               "path": "/tmp/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/priv_sk"
+                               "path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/e956a7d3bd5d1ad6cd0c666e64fdc9efc5b38f92831a82951e51815a477bc7ae_sk"
                        },
                        "peers": ["peer0.org1.example.com"],
                        "signedCert": {
-                               "path": "/tmp/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem"
+                               "path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/cert.pem"
                        }
                }
        },

blockchain explorerの起動

環境変数の情報を読み込み、Dockerを起動します。
この起動により、フロントエンドのサービスおよびブロック情報を格納するデータベースサービスが起動します。
docker psコマンドにより、hyperledger/explorerおよびhyperledger/explorer-dbが起動できていれば設定の完了です。
hyperledger/explorerが起動できない場合は、証明書等の設定に誤りがある可能性が高いので、パスおよびファイル名を確認します。

$ pwd
/c/Users/dssfan/blockchain-explorer
$ source .env
$ docker-compose up -d
$ docker ps
CONTAINER ID   IMAGE                               COMMAND                  CREATED          STATUS                    PORTS                                                                    NAMES
d5a74bf3bb1f   hyperledger/explorer:latest         "docker-entrypoint.s…"   51 minutes ago   Up 51 minutes             0.0.0.0:8080->8080/tcp                                                   explorer.mynetwork.com
580d4fbde358   hyperledger/explorer-db:latest      "docker-entrypoint.s…"   52 minutes ago   Up 52 minutes (healthy)   5432/tcp                                                                 explorerdb.mynetwork.com
6c76513a2f42   basic_ccaas_image:latest            "/tini -- /usr/src/a…"   4 hours ago      Up 4 hours                9999/tcp                                                                 peer0org2_basic_ccaas
4dc843b2ec54   basic_ccaas_image:latest            "/tini -- /usr/src/a…"   4 hours ago      Up 4 hours                9999/tcp                                                                 peer0org1_basic_ccaas
40df41fc37a5   hyperledger/fabric-tools:latest     "/bin/bash"              4 hours ago      Up 4 hours                                                                                         cli
15571810f48f   hyperledger/fabric-orderer:latest   "orderer"                4 hours ago      Up 4 hours                0.0.0.0:7050->7050/tcp, 0.0.0.0:7053->7053/tcp, 0.0.0.0:9443->9443/tcp   orderer.example.com
f201a78c1a91   hyperledger/fabric-peer:latest      "peer node start"        4 hours ago      Up 4 hours                0.0.0.0:9051->9051/tcp, 7051/tcp, 0.0.0.0:9445->9445/tcp                 peer0.org2.example.com
d97a72574304   hyperledger/fabric-peer:latest      "peer node start"        4 hours ago      Up 4 hours                0.0.0.0:7051->7051/tcp, 0.0.0.0:9444->9444/tcp                           peer0.org1.example.com
8d97d04e59de   hyperledger/fabric-ca:latest        "sh -c 'fabric-ca-se…"   4 hours ago      Up 4 hours                0.0.0.0:9054->9054/tcp, 7054/tcp, 0.0.0.0:19054->19054/tcp               ca_orderer
f21a5c3f7b1d   hyperledger/fabric-ca:latest        "sh -c 'fabric-ca-se…"   4 hours ago      Up 4 hours                0.0.0.0:8054->8054/tcp, 7054/tcp, 0.0.0.0:18054->18054/tcp               ca_org2
1e7d906c03b7   hyperledger/fabric-ca:latest        "sh -c 'fabric-ca-se…"   4 hours ago      Up 4 hours                0.0.0.0:7054->7054/tcp, 0.0.0.0:17054->17054/tcp                         ca_org1

blockchain explorerの表示

ブラウザから確認

ブラウザを起動し、http://localhost:8080にアクセスします。
ログイン画面が表示されます。

image.png

User: exploreradmin
Password:exploreradminpw
を入力します。
以下の画面が表示されます。

image.png

トランザクション情報の確認

メニューからtransactionsをクリックします。
確認するTxIdをクリックします。

image.png

ダイアログにある、ReadもしくはWriteからトランザクションの入出力情報を確認することができます。
image.png

blockchain explorer構築手順は以上です。

補足

ブロック情報の初期化

ブロック情報はデータベースに保持されています。
データベースを初期化する場合は以下のコマンドを実行し、Dockerボリュームを削除します。

$ pwd
/c/Users/dssfan/blockchain-explorer
$ docker-compose down -v
$ docker volume rm blockchain-explorer_pgdata
$ docker volume rm blockchain-explorer_walletstore

次回は

DataSpiderSDKによりアダプタの実装例を紹介したいと思います。

1
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?