其他分享
首页 > 其他分享> > 安装blockchain-explorer区块浏览器

安装blockchain-explorer区块浏览器

作者:互联网

概述

最近在做区块链相关项目(基于hyperledger fabric),需要能够实时监测区块链网络中的信息。好在hyperledger官方提供了一个区块浏览器(也就是blockchain-explorer),也就不用自己对照API进行开发了。
目前网上的区块链博客相对较少,关于此区块浏览器的安装资料还停留在1.4版本(本文基于hyperledger fabric测试网络2.1版本);且基本上都是采用代码库方式安装,需要手动安装postgreSQL、npm、Nodejs、jq等多种组件,非常麻烦,因此本文提供一种基于Docker-Compose进行安装的方式。

官方github地址:https://github.com/hyperledger/blockchain-explorer

准备条件

开始安装

1. 拉取docker镜像

如果你运行过first-network.sh(1.x)或者test-network.sh(2.x),那么以下docker镜像会被自动拉取到本地

2. 准备启动文件

执行下方命令下载文件

wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/config.json
wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/connection-profile/test-network.json -P connection-profile
wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/docker-compose.yaml

启动测试网络后会在fabric-samples下的first-network目录下(1.x)或test-network目录(2.x)生成organizations目录,该目录下存放着各个组织、节点的加密证书信息。
在这里插入图片描述
将organizations目录复制到你刚刚下载文件所在的目录。那么此时该路径下目录结构如下所示
在这里插入图片描述

3. 修改配置文件

      - ./config.json:/opt/explorer/app/platform/fabric/config.json
      - ./connection-profile:/opt/explorer/app/platform/fabric/connection-profile
      - ./organizations:/tmp/crypto
      - walletstore:/opt/explorer/wallet

意思就是
(a)将容器中的/opt/explorer/app/platform/fabric/config.json文件挂在到当前目录下的config.json文件
(b)将容器中的/opt/explorer/app/platform/fabric/connection-profile目录,挂在到当前目录下的connection-profile目录
(c)将容器中的/tmp/crypto目录,挂在到当前目录中的organizations目录
(d)将容器中的/opt/explorer/wallet挂在walletstore。此处使用的是卷标方式,如果想知道walletstore的具体地址可以执行如下命令进行查看

docker volume ls | grep walletstore
docker volume inspect myexplorer_walletstore

在这里插入图片描述
(e)ports:由于我服务器中的8080端口被占用了,因此我将容器中的8080端口映射到本地的18080端口,你可以自由更改为一个未冲突的端口,或者不修改(选做
(f)environment:如果你使用的是虚拟机且使用桥接方式将资源管理器连接到结构网络,那么你需要在environment标签下添加如下设置以禁用主机名到LOCALHOST的映射(选做

- DISCOVERY_AS_LOCALHOST=false

修改的地方主要在于
(a)organizations.Org1MSP.adminPrivateKey.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk
(b)organizations.Org1MSP.signedCert.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/cert.pem
(c)peers.peer0.org1.example.com.tlsCACerts.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
在这里插入图片描述
下面解释一下:
在上一步修改docker-compse步骤c中,我们将容器中的/tmp/crypto目录,挂在到当前目录中的organizations目录,这两个目录可以理解为相互同步,那么我们在此处a步骤中将organizations.Org1MSP.adminPrivateKey.path设置为/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk其实设置的是…/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk,但是我们必须设置为容器中的路径,否则读不到。此处b、c中的设置原因同。

4. 启动

切换到上层即docker-compose所在目录,执行如下命令启动项目

docker-compose up

观察日志,是否出错。如果出错,根据日志中的错误进行修改;如果未出错,直接CTRL+C结束掉,然后执行如下命令后台启动。之所以不直接后台启动是为了方便观察启动日志。

docker-compose up -d

5. 访问

标签:org1,explorer,blockchain,目录,docker,区块,com,example
来源: https://blog.csdn.net/huangxin388/article/details/117282933