前言
我们之前既然安装了区块链的环境并且可以自己进行开发chaincode,但是我们并不能对整个区块链网络有个直观的了解,Hyperledger Explorer正是一款简单,功能强大,易于使用且易于维护的开源浏览器,可用于查看底层区块链网络上的活动。让我们来使用它吧。先看一下它的目录结构,让我们对它有所了解:
├── app 根目录
├── db Postgres脚本和帮助类
├── listener Websocket侦听器
├── metrics 权值 (网路)
├── mock_server 用于开发的模拟服务器
├── service 服务
├── socket 将实时数据推到前端
├── test 端口检测
├── timer 定时发布信息
└── utils 各种实用程序脚本
├── client 网页用户界面
基础环境安装
以下是安装和运行fabric explorer所需的软件依赖关系:
- nodejs 6.9.x (7.x 现在还不支持)
- PostgreSQL 9.5 或者更新
- docker 17.06.2-ce [https://www.docker.com/community-edition]
- docker-compose 1.14.0 [https://docs.docker.com/compose/]
克隆库文件
使用下面命令来获取最新的版本文件:
git clone https://github.com/hyperledger/blockchain-explorer.git
cd blockchain-explorer
postgreSQL数据库设置
连接到postgreSql:
sudo -u postgres psql
运行创建数据库脚本:
\i app/db/explorerpg.sql
\i app/db/updatepg.sql
具体了解可以查看相应的脚本文件。
查看数据库信息(非必须):
\l 查看创建fabricexplorer数据库
\d 查看创建的表格
其他操作可以查看postgreSQL的操作命令帮助文档
区块链网络配置文件设置
首先进入到blockchain-explorer目录下,然后对config.json文件
-
修改config.json以更新network-config。
- 将”fabric-path”设置成我们自己构建的区块链网络的路径,
- 例如:“/home/user1/workspace/fabric-samples”,其中包含以下键:“tls_cacerts”,“key”,“cert”。我们需要相应的修改成我们自己配置的网络的路径。具体参考下边的“tls_cacerts”的配置
- 关键字“tls_cacerts”的最终路径为:“/home/user1/workspace/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ ca.crt”。
-
修改其中的channel
- pg主机,用户名,密码的详细信息。
“ channel ”: “ mychannel ”,
“ pg ”:{
“ host ”: “ 127.0.0.1 ”,
“ port ”: “ 5432 ”,
“ database ”: “ fabricexplorer ”,
“ username ”: “ hppoc ”,
“ passwd ”: “password“
}
如果你是按照上面的步骤到这里的话,这个配置直接copy就可以啦,无需修改。 - pg主机,用户名,密码的详细信息。
如果你正在连接到非TLS fabric 节点,请修改对等URL中的协议(grpcs->grpc)和端口(9051-> 9050),然后删除tls_cacerts。根据这个键,应用程序决定是去TLS还是非TLS路线。由于1.1版本是通过TLS连接的,所以这里我们无需修改。
构建Hyperledger Fabric Explorer
启动另一个终端:
cd blockchain-explorer/app/test
npm install
npm run test
cd blockchain-explorer
npm install
cd client/
npm install
npm test -- -u --coverage
npm run build
运行Hyperledger Fabric Explorer
开启新的终端:
cd blockchain-explorer/
./start.sh
(它将拥有后端)。tail -f log.log
(查看日志)
在浏览器上启动URL http:// localhost:8080
如果一切没有错误的话你应该可以看到类似的界面:
结束语
由于其中有安全机制的问题笔者不懂其中的原理,所以笔者在非本地的电脑中打开此IP,其中的数据并不能自己实时的更新,所以只能在部署了节点的服务器上打开此页面查看信息。如果以后笔者搞清楚状况了也会及时的更新此博文。