首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

根据已有网络安装fabric-explorer

1.环境准备:

lnodejs 6.9.x(不支持v7.x)

lmysql 5.7或更高版本

lHyperledger 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项目:

l参考官方文档,

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

跳过fabric networksetup步骤。

l下载整个项目

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

cd blockchain-explorer

图三:下载fabric-explorer

4.创建数据库:

在blockchain-explorer目录下执行:

mysql -u -p < db/fabricexplorer.sql

5.运行blockchain-explorer:

l修改config.json

参数解析:

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

”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帐号密码。

l修改app/network-config.json或app/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目录下。

图四:把网络的证书文件拷贝只指导目录

l下载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.log2>&1 &

l运行start.sh

./start.sh

终端会有log输出:

Please openInternet explorer to access:http://localhost:8080/

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

图六:fabric-explorer展示界面

6.总结:

现在fabric-explorer虽然基本能跑,还有一些需要完善的地方。

1.不理解整个插件的组织关系,比如运行node main.js时所依赖的其他库,调用的函数之间的关系。以及数据在哪里生成,保存到哪里,然后又被谁读取,怎么解析的,如何展示的也不是很清楚。

2.Fabric-explorer在这里更新有点延迟,往往延迟半分钟到几分钟。猜测和数据库有关。

3.Log输出还有一些报错,大概是ca节点没正确加入网络。

因此最近准备研究一下这个fabric-explorer,加深理解。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180103G04W1500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券