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的目标还是挺远大的。