Hyperledger Explorer区块浏览器官方安装文档【中文版】
Hyperledger Explorer是一个简单易用的开源工具,可以用于监视区块链网络中的活动。Hyperledger Explorer支持Fabric、Iroha等多种区块链,可以运行在MocOS和Ubuntu下。
Hyperledger Fabric区块链开发教程:
1.0 Hyperledger Explorer与Fabirc版本对应关系说明
Hyperledger Explorer和Fabric以及NodeJS之间的版本对应关系如下:
Hyperledger Explorer Version | Fabric Version Supported | NodeJS Version Supported |
---|---|---|
v1.0.0-rc2 (Dec 10, 2019) | v1.4.0 to v1.4.4 | 8.11.x |
v1.0.0-rc1 (Nov 18, 2019) | v1.4.2 | 8.11.x |
v0.3.9.5 (Sep 8, 2019) | v1.4.2 | 8.11.x |
v0.3.9.4 (June 18, 2019) | v1.4.1 | 8.11.x |
v0.3.9.3 (May 24, 2019) | v1.4 | 8.11.x |
v0.3.9.2 (May 16, 2019) | v1.4 | 8.11.x |
v0.3.9.1 (Feb 28, 2019) | v1.4 | 8.11.x |
v0.3.9 (Feb 7, 2019) | v1.4 | 8.11.x |
v0.3.8 (Dec 13, 2018) | v1.3 | 8.x.x |
v0.3.7 (Sep 21, 2018) | v1.2 | 8.x.x |
v0.3.6.1 (Sep 21, 2018) | v1.2 | 8.x.x |
v0.3.6 (Sep 6, 2018) | v1.2 | 8.x.x |
v0.3.5.1 (Sep 21, 2018) | v1.1 | 8.x.x |
v0.3.5 (Aug 24, 2018) | v1.1 | 8.x.x |
v0.3.4 (Jul 13, 2018) | v1.1 | 8.x.x |
2.0 Hyperledger Explorer源代码目录结构
blockchain-explorer | ├── app Application backend root, Explorer configuration | ├── rest REST API | ├── persistence Persistence layer | ├── fabric Persistence API (Hyperledger Fabric) | └── 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
3.0 Hyperledger Explorer的依赖说明
在安装和运行Hyperledger Explorer之前需要先满足以下依赖条件:
- Nodejs 8.11.x(注意目前v9.x还不支持)
- PostgreSQL 9.5或更高版本
- jq
- 基于Linux的操作系统,例如Ubuntu或MacOS
以下版本的Docker已经验证过支持Hyperledger Explorer:
- Docker CE 18.09.2或更高版本
- Docker Compose 1.14.0
4.0 克隆Hyperledger Explorer的Git仓库
执行以下命令克隆Hyperledger Explorer的Git仓库以获得最新版本:
git clone https://github.com/hyperledger/blockchain-explorer.git cd blockchain-explorer
5.0 PostgreSQL数据库设置
首先进入app目录:
cd blockchain-explorer/app
然后修改explorerconfig.json以更新PostgreSQL数据库的配置:
"postgreSQL": { "host": "127.0.0.1", "port": "5432", "database": "fabricexplorer", "username": "hppoc", "passwd": "password" }
配置数据库的另一种替代方式是使用环境变量,例如:
export DATABASE_HOST=127.0.0.1 export DATABASE_PORT=5432 export DATABASE_DATABASE=fabricexplorer export DATABASE_USERNAME=hppoc export DATABASE_PASSWD=pass12345
注意:在每次执行git pull之后,你可能需要修改数据库目录的
权限。执行以下命令进行权限修改:
cd blockchain-explorer/app/persistence/fabric/postgreSQL chmod -R 775 db/
接下来运行数据库创建脚本。
在Ubuntu下执行如下命令:
cd blockchain-explorer/app/persistence/fabric/postgreSQL/db sudo -u postgres ./createdb.s
在MacOS执行如下命令:
cd blockchain-explorer/app/persistence/fabric/postgreSQL/db ./createdb.sh
现在可以连接到PostgreSQL数据库,运行DB状态命令:
-
\l
:查看创建的fabricexplorer数据库 -
\d
:查看创建的数据表
如果你的Postgresql启用了TLS,请参考Postgresql官方文档。
5.1 Hyperledger Explorer身份授权配置
首先进入浏览器应用目录:
cd blockchain-explorer/app
然后修改explorerconfig.json以更新授权配置(JWT):
"jwt": { "secret" : "a secret phrase!!", "expiresIn": "2 days" }
其中:
- secret:用于签名消息载荷的密文
- expiresIn:过期时间,以秒为单位的数值或一个时间字符串,例如:60,2 days,10h,7d等,可参考zeit/ms
6.0 Fabric网络设置
注意:完成这一部分的设置需要一定的时间。
首先参考Hyperledger官方文档Building Your First Network搭建好你自己的网络。
然后修改配置文件/blockchain-explorer/app/platform/fabric/config.json里的对应的值。
Hyperledger Explorer默认使用fabric-samples/first-network
请确保在docker-compose.yaml文件中为每个Peer节点都设置了环境变量CORE_PEER_GOSSIP_BOOTSTRAP和CORE_PEER_GOSSIP_EXTERNALENDPOINT。这些设置用来启用Fabric发现服务,Hyperledger Explorer依赖于该服务来自动发现Fabric区块链网络的拓扑结构。
6.1 为Hyperledger Explorer配置运维服务
请参考 CONFIG-OPERATIONS-SERVICE-HLEXPLORER.md来为Hyperledger Explorer配置运维服务。
7.0 配置Hyperledger Fabric
开启另一个终端,进入以下目录:
cd blockchain-explorer/app/platform/fabric
修改config.json文件来定义fabric网络的连接配置文件:
{ "network-configs": { "first-network": { "name": "firstnetwork", "profile": "./connection-profile/first-network.json", "enableAuthentication": false } }, "license": "Apache-2.0" }
- first-network:是连接配置的名称,可以随意修改
- name:你的fabric网络的名字
- profile:你的连接配置文件的路径
修改JSON文件first-network.json中的连接配置信息:
-
修改fabric-path指向你的fabric网络硬盘路径:
/blockchain-explorer/app/platform/fabric/connection-profile/first-network.json
-
为adminPrivateKey配置选项提供完整的磁盘路径,它通常 以
_sk
结尾,例如:"/fabric-path/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/aaacd899a6362a5c8cc1e6f86d13bfccc777375365bbda9c710bb7119993d71c_sk"
- adminUser是网络的管理用户
- adminPassword是管理用户的密码
- enableAuthentication标志用来启用登录页,设置为false将跳过 身份验证
7.1 为Hyperledger Explorer配置Fabcar示例,可选
参考Hyperledger Fabric示例中的Fabcar Sample Network为Hyperledger Explorer设置连接Fabcar示例网络。
- 确保在docker-compose.yaml文件中为每个peer节点都是设置
CORE_PEER_GOSSIP_BOOTSTRAP和CORE_PEER_GOSSIP_EXTERNALENDPOINT
环境变量。这些设置用于启用fabric的自动发现服务。
- 参考CONFIG-FABCAR-HLEXPLORER.md 配置Fabcar示例网络
7.2 为Hyperledger Explorer配置Balance Transfer示例
参考Hyperledger Fabric示例中的Balance Transfer Sample为Hyperledger Explorer设置对Balance Transfer网络的访问。
参考文档:CONFIG-BALANCE-TRANSFER-HLEXPLORER.md
8.0 Hyperledger Composer 设置
TODO
9.0 Hyperledger Cello设置
TODO
10.0 构建Hyperledger Explorer
注意,请在每次git pull之后重复以下步骤!
在终端执行如下命令安装、测试并构建项目
./main.sh install
在终端执行如下命令清理/node_modules、client/node_modules、client/build、client/coverage、app/test/node_modules目录
./main.sh clean
在终端执行如下命令测试REST API、UI组件并生成代码覆盖报告;
./main.sh test
或者:
cd blockchain-explorer npm install cd blockchain-explorer/app/test npm install npm run test cd client/ npm install npm run test:ci -- -u --coverage npm run build
10.1 配置Hyperledger Explorer启用HTTPS
11.0 运行Hyperledger Explorer
首先进入应用目录:
cd blockchain-explorer/app
然后修改explorerconfig.json来更新同步属性,例如同步类型、平台等。
如果修改了explorerconfig.json中的参数,请重新启动同步进程。
如果同步进程和Hyperledger Explorer不在同一台主机上,那么在Explorer的explorerconfig.json中应当将同步类型设置为host:
"sync": { "type": "host" }
如果同步进程和Hyperledger Explorer安装在同一台主机上,则设置
为local类型:
"sync": { "type": "local" }
另外开启一个终端:
- cd blockchain-explorer/
- ./start.sh 启动后台
- ./start.sh debug 以调试方式启动后台
- ./start.sh print 显示帮助信息
- 在浏览器中打开
http(s)://localhost:8080
- ./stop.sh 终止node服务器
如果Sync进程在单独主机中,那么在新的终端中:
- cd blockchain-explorer/
- ./syncstart.sh 启动同步节点
- ./syncstop.sh 停止同步节点
- 如果之前在浏览器中访问了hyperledger explorer,请先清理浏览器缓存
- 如果Hyperledger Fabric网络部署在另一台机器上,请切换start.sh/syncstart.sh 中的DISCOVERY_AS_LOCALHOST标志位false
11.1 Hyperledger Explorer日志配置
使用如下的环境变量,可以控制Hyperledger Explorer中每个组件(例如app、db和console)的日志输出等级,例如:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF。
每个文件按时间(7天)和大小(8MB)滚动。
- LOG_LEVEL_APP:应用层日志等级,日志写入logs/app/app.log,默认为DEBUG
- LOG_LEVEL_DB:后端日志等级,日志写入logs/db/db.log,默认为DEBUG
- LOG_LEVEL_CONSOLE:控制台日志等级,日志写入logs/console/console.log,默认为INFO
- LOG_CONSOLE_STDOUT :iang控制台日志目标从文件切换为标准输出设备,默认值:false
12.0 使用Docker运行Hyperledger Explorer
如果以下条件满足的话,可以利用docker自动部署Hyperledger Explorer:
- 安装了bash
- 在部署机器上安装有docker
- 在部署机器上安装有docker compose
12.1 Docker仓库
Hyperledger Explorer docker仓库:https://hub.docker.com/r/hyperledger/explorer/
Hyperledger Explorer PostgreSQL docker 仓库:https://hub.docker.com/r/hyperledger/explorer-db
12.2 使用docker compose运行Hyperledger Explorer
修改示例docker-compose.yaml文件以匹配你自己的环境:
- networks > mynetwork.com > external > name
networks: mynetwork.com: external: name: net_byfn
- services > explorer.mynetwork.com > volumes
volumes: - ./examples/net1/config.json:/opt/explorer/app/platform/fabric/config.json - ./examples/net1/connection-profile:/opt/explorer/app/platform/fabric/connection-profile - ./examples/net1/crypto:/tmp/crypto
- 如果Hyperledger Explorer是通过桥接网络连接到Fabric网络 的,你需要设置DISCOVERY_AS_LOCALHOST为false以便禁止将 主机名映射为localhost:
explorer.mynetwork.com: ... environment: ... - DISCOVERY_AS_LOCALHOST=false
- 在启动Fabric网络后,运行如下命令启动Hyperledger Explorer和explorer-db服务
cd /blockchain-explorer docker-compose up -d
- 运行如下命令停止服务但不删除持久化数据:
docker-compose down
- 在docker-compose.yaml中,为持久化数据分配了两个命名
卷(用于postgresql数据和用户钱包),运行以下命令清理
这些数据:
docker-compose down -v
12.3 ~ 18.0
TODO
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
TiDB在360的落地及实战干货
TiDB在360的落地及实战干货 背景 Part1:写在最前 当一张百亿数据量的表放在你面前,你将面临着什么? 加列?哭吧,怎么也得等个几天甚至几周。加索引?哭吧,不论你用pt-online-schema,还是gh-ost,你都面临着拷贝一张临时表用以存储临时数据,磁盘已经80%了,你这一张表就占几百G,你咋弄?~ 我先说几个最让你兴奋和开心的点吧: 在TiDB里,你完全不用担心磁盘容量的问题; 在TiDB里,原生支持Online DDL,你完全不用担心第三方改表工具改表出现各种Bug的问题,相信用开源工具改过上T级别表的同学都遇到过或多或少的各类error。 在TiDB里,加列,主键扩容字段都是秒级的,比如我刚刚就刚对一张19亿的表加完了字段,1s完事儿~这在MySQL里要8.0才可以,而且还要求列在最后才行。 在TiDB里,你会发现count(*)惊人的快,一张近20亿的表coun(*)大概在1分钟完事儿,当然,这取决于你的KV数量和磁盘性能。 在TiDB里,从MySQL迁移将变得简单,图形化一件迁移,爽不爽? 在TiDB里,......,您且往下看,我慢慢和您说~ Part2...
- 下一篇
Atlas(元数据管理)从扫盲到和Hive、HBase、Kafka、Flink等集成开发
先对数据分个类 企业数据管理的内容及范畴通常包括交易数据、主数据以及元数据。(1)交易数据:用于纪录业务事件,如客户的订单,投诉记录,客服申请等,它往往用于描述在某一个时间点上业务系统发生的行为。(2)主数据:主数据则定义企业核心业务对象,如客户、产品、地址等,与交易流水信息不同,主数据一旦被记录到数据库中,需要经常对其进行维护,从而确保其时效性和准确性;主数据还包括关系数据,用以描述主数据之间的关系,如客户与产品的关系、产品与地域的关系、客户与客户的关系、产品与产品的关系等。(3)元数据:即关于数据的数据,用以描述数据及其环境的结构化信息,便于查找、理解、使用和管理数据。 什么是元数据管理 我们前面讲解的技术和平台都在解决主数据和交易数据的采集、加工、存储、计算等问题。但面对海量且持续增加的各式各样的数据时,你一定想知道数据从哪里来以及它如何随时间而变化?采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分。所谓元数据管理其实通俗来讲就两点:(1)把各个组件(一般是存储)的元数据收集起来统一管控(2)利用这些收集的元数据去实现各种上层应用以满足各种数...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS6,CentOS7官方镜像安装Oracle11G
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作