区块链100讲:Hyperledger Explorer简介

image

上一篇咱们介绍了面向运维的Cello项目,能够帮助运维快速部署与监控各个区块链节点。今天咱们将介绍另外一个相似的项目 —— Hyperledger Explorer。前端

1

项目简介

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

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

2

环境依赖

因为须要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网络:数据库

3

部署过程

克隆仓库

使用如下命令克隆仓库:

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

4

构建Hyperledger Explorer

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

5

运行Hyperledger Explorer

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

./stop.sh  # 中止运行

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

image

这样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能够查看数据库日志。

  • 全部日志七天滚动

6

小结

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

拓展阅读:区块链100讲:Hyperledger Cello简介

本文做者:HiBlock区块链技术布道群-冯宇Ops

原文发布于简书

加微信baobaotalk_com,加入技术布道群

如下是咱们的社区介绍,欢迎各类合做、交流、学习:)

image

相关文章
相关标签/搜索