上一篇咱们介绍了面向运维的Cello项目,能够帮助运维快速部署与监控各个区块链节点。今天咱们将介绍另外一个相似的项目 —— Hyperledger Explorer。前端
Hyperledger Explorer是一个区块链的图形化explorer,具备使用简便,功能强大,易维护等特色。一样也是Hyperledger众多项目下的一个子项目,目前还处于孵化中。node
若是说Cello是一个面向于运维的图形化工具,那么Hyperledger Explorer就是一个面向于开发人员和普通用户的一个图形化工具,提供web界面,用户能够容易的看到区块链上的活动,有点相似于以太坊项目中的 https://etherscan.io/git
因为须要fabric, docker等一系列依赖,咱们依旧选用Ubuntu 16.04系统,主要依赖以下:github
软件运行依赖:web
nodejs 8.11.x (Node 9.x暂不支持)sql
PostgreSQL 9.5 or greaterdocker
要工做在Hyperledger Fabric 1.1以上网络中,须要运行如下依赖管理fabric网络:数据库
docker 17.06.2-ce [https://www.docker.com/community-edition]npm
docker-compose 1.14.0 [https://docs.docker.com/compose/]json
克隆仓库
使用如下命令克隆仓库:
git clone https://github.com/hyperledger/blockchain-explorer.git cd blockchain-explorer
目录结构以下:
├── app Application backend root ├── explorer Explorer configuration, REST API ├── persistence Persistence layer ├── platform Platforms ├── fabric Explorer API (Hyperledger Fabric) ├── test Application backend test ├── client Web UI ├── public Assets ├── src Front end source code ├── components React framework ├── services Request library for API calls ├── state Redux framework ├── static Custom and Assets
链接数据库
Ubuntu系统使用如下命令链接数据库:
sudo -u postgres psql
运行建立数据库的脚本:
\i app/persistence/postgreSQL/db/explorerpg.sql
\i app/persistence/postgreSQL/db/updatepg.sql
设置Fabric网络
按照Fabric教程Build your network或composer教程Build your network都可快速启动一个Fabric网络,相关介绍在以前的文章Linux环境下搭建Hyperledger Fabric 1.1开发环境和Linux环境下安装和使用Hyperledger Composer都有过介绍。
启动fabric网络以后须要在app/platform/fabric/config.json作下适配,改成响应的区块链网络配置。
修改app/persistence/postgreSQL/db/pgconfig.json为对应的数据库配置。
若是你链接到一个非TLS的fabric节点,须要在peer url的配置中修改协议grpcs -> grpc和端口9051 -> 9050,而且移除掉选项tls_cacerts。经过这个关键配置,程序决定走TLS路由仍是非TLS路由。
每次git pull以后都须要从新构建:
cd blockchain-explorer npm install cd blockchain-explorer/app/test npm installnpm run testcd client/ npm install npm test -- -u --coverage npm run build
cd blockchain-explorer ./start.sh # 程序会后台运行 ./stop.sh # 中止运行
运行以后,打开localhost:8080,应该看到相似于下面的界面
这样Hyperledger Explorer的web界面就运行起来了。
使用Docker运行Hyperledger Explorer
Hyperledger Explorer一样还支持使用Docker自动化部署。非交互式部署的默认配置以下:
默认状况下,部署脚本使用192.168.10.0/24虚拟网络,而且没有重叠ip(意味着你不能有其余物理主机或docker容器运行在这个网络中)。若是ip重叠了,必须编辑脚本,更改目标网络和容器目标ip。
默认状况下两个service(前台和数据库)会运行在同一台机器上,可是脚本也容许修改运行在分开的机器上,只要在前端容器中编辑下目标DB IP就好。
Crypto material正确的配置在examples/$network/crypto
Fabric 网络配置在examples/$network/config.json
使用Docker部署的步骤:
cd blockchain-explorer/
在examples下建立一个新的目录(好比叫dockerConfig)存储你的ypberledger网络配置(mkdir -p ./examples/dockerConfig)
在examples/dockerConfig/config.json下保存你的hyperledger网络配置。
在examples/dockerConfig/crypto下保存你的证书配置。
在上一级目录运行explorer。
开启新终端
cd blockchain-explorer/
./deploy_explorer.sh dockerConfig (该脚本会使用存储在examples/dockerConfig目录下的配置自动部署数据库和前端app)
Hyperledger Explorer Swagger
运行Hyperledger Explorer以后,在http://localhost:8080/api-docs能够看到Rust API描述
Logs
./logs/console能够查看终端日志,./logs/app 能够查看应用日志,./logs/db能够查看数据库日志。
全部日志七天滚动
Hyperledger Explorer项目目前还在孵化中,部署上看起来并不那么正轨(并无标准化的包管理部署方式)。不过依旧能够看出Hyperledger功能的强大,各方面几乎并驾齐驱,没有短板,而且在高速发展中。除了目前的应用确实少了些以外,基础设施其实至关完善,从开发到运维,再到终端用户几乎都有对应的项目解决对应的问题,能够看出Hyperledger的目标仍是挺远大的。
拓展阅读:区块链100讲:Hyperledger Cello简介
本文做者:HiBlock区块链技术布道群-冯宇Ops
原文发布于简书
加微信baobaotalk_com,加入技术布道群
如下是咱们的社区介绍,欢迎各类合做、交流、学习:)