热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HyperledgerExplorer如何安装

小编给大家分享一下HyperledgerExplorer如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有

小编给大家分享一下Hyperledger Explorer如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Hyperledger Explorer是一个简单易用的开源工具,可以用于监视区块链网络中的活动。Hyperledger Explorer支持Fabric、Iroha等多种区块链,可以运行在MocOS和Ubuntu下。

Hyperledger Explorer如何安装

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

参考:CONFIG-HTTPS-HLEXPLORER.md

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

  • 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

以上是“Hyperledger Explorer如何安装”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程笔记行业资讯频道!


推荐阅读
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 在ubuntu服务器上安装vscode,但是目前使用的方法都无法成功。第一次安装经历:安装完anaconda后有自动安装vscode的选项,输入yes后,没有出现错误,但是在终端输 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Question该提问来源于开源项目:react-native-device-info/react-native-device-info ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 我正在尝试使用scrapycrallsingle运行完美运行的scrapy蜘蛛,但我无法在python脚本中运行它.主要问题是从不执行SingleBlogSpider.parse方 ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
author-avatar
明天流浪远方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有