根据已有网络安装fabric-explorer插件


 

1、环境准备:

l nodejs 6.9.x(不支持v7.x

l mysql 5.7或更高版本

l Hyperledger Fabric 1.0

 2、跑通网络:

假设现在你已经跑通你的fabric网络,现在想根据已有的fabric网络,使用fabric-explorer插件,实现对底层网络的具体化展示和实时化查询。

注意fabric-explorer的配置文件(app/network-config.json)有对ca节点的描述。我之前网络没有ca节点,尝试删除相关ca节点的配置,发现运行./start.sh时报错。因此在跑通网络前就需要设置ca节点,以便网络跑通时存在ca节点并能够正常完成功能。

如果没有跑通网络,可以根据以下去按步骤完成:

 根据官方文档

 http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html

和深蓝的博客

http://www.cnblogs.com/studyzy/p/7451276.html

进行交易之后对a进行查询得出的结果:

 

图一:对a进行查询

如图刚开始生成了四个peer节点,一个orderer节点和一个cli共六个容器。然后在Org1上的peer0节点和Org2上的peer1节点实例化链码,生成两个节点。

   

:查看容器

3.下载安装fabric-explorer项目:

参考官方文档,

https://github.com/hyperledger/blockchain-explorer

跳过fabric network setup步骤。

下载整个项目

git clone https://github.com/hyperledger/blockchain-explorer.git

cd blockchain-explorer

 

:下载fabric-explorer

 

4.创建数据库:

  在blockchain-explorer 目录下执行:

mysql -u <username> -p < db/fabricexplorer.sql

5.运行blockchain-explorer

修改config.json

参数解析:

“host”“port”:是你的explorer所运行的地址和可以被浏览器监听到的端口。这里是运行在本机上的,所以设置为localhost8080

”channelsList“:通道列表,根据参数名猜测支持多通道。这里填写你之前运行网络时的设置的通道名。

“GOPATH”,即Go的工作目录,设置为你自己的。

“keyValueStore”,在启动这个项目时会自动生成的一个临时文件,在运行start.sh时会删除,start.sh里面有如下命令rm -rf /tmp/fabric-client-kvs_peerOrg*

“enableTls”Tls好像是关于安全的。这里可以设置为false

“users”:不清楚相关功能,猜测是ca节点的帐号和密码。因为在启动网络的时候,可以发现ca节点里面有这个命令:    command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/d4b0309bf140f39d60934b070462affea09d24464ee3b0005bc2c75a4e2d83c4_sk -b admin:adminpw -d'

”mysql“mysql的一些配置。需要修改的就是你设置的mysql帐号密码。

修改app/network-config.jsonapp/network-config-tls.json

这个根据config.json里面的enableTls参数而定。如果这个参数设置为true,那么explorer运行是就会只加载app/network-config-tls.json,如果是false,就会只加载app/network-config.json

这里修改app/network-config.json

发现一些证书路径指定在/fabric-docker-compose-svt目录下,所以把你启动网络时生成的crypto-config文件夹拷贝至/fabric-docker-compose-svt目录下。

 

网络的证书文件拷贝只指导目录

下载node执行时依赖的库

npm install

npm会根据你所在目录下package.json来下载需要依赖的库,保存在node_modules文件夹下。整个过程会有一些warn,不影响使用。

 

:下载node运行时依赖的库

l 修改 ./start.sh

由于start.sh log输出重定向到log.log文件,不能实时查看相关信息,因此可以修改start.sh

node main.js >log.log 2>&1 &

node main.js的输出重定向到log.log文件,即输出内容不打印到屏幕上,而是输出到log.log文件中。2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了log.log文件,即将标准出错也输出到out.file文件中。最后一个& , 是让该命令在后台执行。

因此删除最后一行的 >log.log 2>&1 &

运行start.sh

./start.sh

终端会有log输出:

Please open Internet explorer to access http://localhost:8080/

firefox输入这个网址,即可看到相应的界面。

 

图六fabric-explorer展示界面

  

原文地址:https://www.cnblogs.com/610553824lyx/p/9305037.html