DTeam 团队日志

Doer、Delivery、Dream

Hyperledger Explorer简介

冯宇 Posted at — Aug 19, 2018 阅读

上一篇我们介绍了面向运维的 Cello 项目,可以帮助运维快速部署与监控各个区块链节点。今天我们将介绍另一个类似的项目 —— Hyperledger Explorer。

项目简介

Hyperledger Explorer 是一个区块链的图形化 explorer,具有使用简便,功能强大,易维护等特点。同样也是 Hyperledger 众多项目下的一个子项目,目前还处于孵化中。

如果说 Cello 是一个面向于运维的图形化工具,那么 Hyperledger Explorer 就是一个面向于开发人员和普通用户的一个图形化工具,提供 web 界面,用户可以容易的看到区块链上的活动,有点类似于以太坊项目中的 https://etherscan.io/

环境依赖

由于需要 fabric, docker 等一系列依赖,我们依旧选用 Ubuntu 16.04 系统,主要依赖如下:

软件运行依赖:

要工作在 Hyperledger Fabric 1.1 以上网络中,需要运行以下依赖管理 fabric 网络:

部署过程

克隆仓库

使用以下命令克隆仓库:

目录结构如下:

├── 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

运行创建数据库的脚本:

设置 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 路由。

构建 Hyperledger Explorer

每次 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

运行 Hyperledger Explorer

cd blockchain-explorer
./start.sh  # 程序会后台运行
./stop.sh  # 停止运行

运行之后,打开localhost:8080,应该看到类似于下面的界面

image.png

这样 Hyperledger Explorer 的 web 界面就运行起来了。

使用 Docker 运行 Hyperledger Explorer

Hyperledger Explorer 同样还支持使用 Docker 自动化部署。非交互式部署的默认配置如下:

使用 Docker 部署的步骤:

开启新终端

Hyperledger Explorer Swagger

运行 Hyperledger Explorer 之后,在http://localhost:8080/api-docs可以看到 Rust API 描述

Logs

小结

Hyperledger Explorer 项目目前还在孵化中,部署上看起来并不那么正轨(并没有标准化的包管理部署方式)。不过依旧可以看出 Hyperledger 功能的强大,各方面几乎并驾齐驱,没有短板,并且在高速发展中。除了目前的应用确实少了些之外,基础设施其实相当完善,从开发到运维,再到终端用户几乎都有对应的项目解决对应的问题,可以看出 Hyperledger 的目标还是挺远大的。