上一篇我们介绍了面向运维的 Cello 项目,可以帮助运维快速部署与监控各个区块链节点。今天我们将介绍另一个类似的项目 —— Hyperledger Explorer。
Hyperledger Explorer 是一个区块链的图形化 explorer,具有使用简便,功能强大,易维护等特点。同样也是 Hyperledger 众多项目下的一个子项目,目前还处于孵化中。
如果说 Cello 是一个面向于运维的图形化工具,那么 Hyperledger Explorer 就是一个面向于开发人员和普通用户的一个图形化工具,提供 web 界面,用户可以容易的看到区块链上的活动,有点类似于以太坊项目中的 https://etherscan.io/
由于需要 fabric, docker 等一系列依赖,我们依旧选用 Ubuntu 16.04 系统,主要依赖如下:
软件运行依赖:
要工作在 Hyperledger Fabric 1.1 以上网络中,需要运行以下依赖管理 fabric 网络:
使用以下命令克隆仓库:
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 教程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 install
npm run test
cd client/
npm install
npm test -- -u --coverage
npm run build
cd blockchain-explorer
./start.sh # 程序会后台运行
./stop.sh # 停止运行
运行之后,打开localhost:8080
,应该看到类似于下面的界面
这样 Hyperledger Explorer 的 web 界面就运行起来了。
Hyperledger Explorer 同样还支持使用 Docker 自动化部署。非交互式部署的默认配置如下:
examples/$network/crypto
examples/$network/config.json
使用 Docker 部署的步骤:
cd blockchain-explorer/
examples
下创建一个新的目录(比如叫dockerConfig
)存储你的 ypberledger 网络配置(mkdir -p ./examples/dockerConfig
)examples/dockerConfig/config.json
下保存你的 hyperledger 网络配置。examples/dockerConfig/crypto
下保存你的证书配置。开启新终端
cd blockchain-explorer/
./deploy_explorer.sh dockerConfig
(该脚本会使用存储在examples/dockerConfig
目录下的配置自动部署数据库和前端 app)运行 Hyperledger Explorer 之后,在http://localhost:8080/api-docs可以看到 Rust API 描述
./logs/console
可以查看终端日志,./logs/app
可以查看应用日志,./logs/db
可以查看数据库日志。Hyperledger Explorer 项目目前还在孵化中,部署上看起来并不那么正轨(并没有标准化的包管理部署方式)。不过依旧可以看出 Hyperledger 功能的强大,各方面几乎并驾齐驱,没有短板,并且在高速发展中。除了目前的应用确实少了些之外,基础设施其实相当完善,从开发到运维,再到终端用户几乎都有对应的项目解决对应的问题,可以看出 Hyperledger 的目标还是挺远大的。
觉得有帮助的话,不妨考虑购买付费文章来支持我们 🙂 :
付费文章