ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安装blockchain-explorer区块浏览器

2021-05-26 11:59:35  阅读:543  来源: 互联网

标签:org1 explorer blockchain 目录 docker 区块 com example


概述

最近在做区块链相关项目(基于hyperledger fabric),需要能够实时监测区块链网络中的信息。好在hyperledger官方提供了一个区块浏览器(也就是blockchain-explorer),也就不用自己对照API进行开发了。
目前网上的区块链博客相对较少,关于此区块浏览器的安装资料还停留在1.4版本(本文基于hyperledger fabric测试网络2.1版本);且基本上都是采用代码库方式安装,需要手动安装postgreSQL、npm、Nodejs、jq等多种组件,非常麻烦,因此本文提供一种基于Docker-Compose进行安装的方式。

官方github地址:https://github.com/hyperledger/blockchain-explorer

准备条件

  • 已经安装了Docker环境,并且已经启动了
  • 已经成功启动了hyperledger fabric的测试网络,或者你自己部署的生产网络

开始安装

1. 拉取docker镜像

如果你运行过first-network.sh(1.x)或者test-network.sh(2.x),那么以下docker镜像会被自动拉取到本地

2. 准备启动文件

执行下方命令下载文件

wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/config.json
wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/examples/net1/connection-profile/test-network.json -P connection-profile
wget https://raw.githubusercontent.com/hyperledger/blockchain-explorer/main/docker-compose.yaml

启动测试网络后会在fabric-samples下的first-network目录下(1.x)或test-network目录(2.x)生成organizations目录,该目录下存放着各个组织、节点的加密证书信息。
在这里插入图片描述
将organizations目录复制到你刚刚下载文件所在的目录。那么此时该路径下目录结构如下所示
在这里插入图片描述

3. 修改配置文件

  • 修改docker-compose.yaml文件
    在这里插入图片描述
    如果你对docker-compse比较了解,请按照自己的情况修改;如果不了解,请按照我下面给出的方式修改,你可以修改得和我一摸一样。
    找到volumes标签,将其下的内容删掉或注释掉,配置成如下
      - ./config.json:/opt/explorer/app/platform/fabric/config.json
      - ./connection-profile:/opt/explorer/app/platform/fabric/connection-profile
      - ./organizations:/tmp/crypto
      - walletstore:/opt/explorer/wallet

意思就是
(a)将容器中的/opt/explorer/app/platform/fabric/config.json文件挂在到当前目录下的config.json文件
(b)将容器中的/opt/explorer/app/platform/fabric/connection-profile目录,挂在到当前目录下的connection-profile目录
(c)将容器中的/tmp/crypto目录,挂在到当前目录中的organizations目录
(d)将容器中的/opt/explorer/wallet挂在walletstore。此处使用的是卷标方式,如果想知道walletstore的具体地址可以执行如下命令进行查看

docker volume ls | grep walletstore
docker volume inspect myexplorer_walletstore

在这里插入图片描述
(e)ports:由于我服务器中的8080端口被占用了,因此我将容器中的8080端口映射到本地的18080端口,你可以自由更改为一个未冲突的端口,或者不修改(选做
(f)environment:如果你使用的是虚拟机且使用桥接方式将资源管理器连接到结构网络,那么你需要在environment标签下添加如下设置以禁用主机名到LOCALHOST的映射(选做

- DISCOVERY_AS_LOCALHOST=false
  • 进入connection-profile目录修改test-network.json文件

修改的地方主要在于
(a)organizations.Org1MSP.adminPrivateKey.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk
(b)organizations.Org1MSP.signedCert.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/cert.pem
(c)peers.peer0.org1.example.com.tlsCACerts.path
此值改为:/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
在这里插入图片描述
下面解释一下:
在上一步修改docker-compse步骤c中,我们将容器中的/tmp/crypto目录,挂在到当前目录中的organizations目录,这两个目录可以理解为相互同步,那么我们在此处a步骤中将organizations.Org1MSP.adminPrivateKey.path设置为/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk其实设置的是…/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/728adf3380e5afc3a5471c74d15e59386f10c3671e91a24d187e82bf6377a8d8_sk,但是我们必须设置为容器中的路径,否则读不到。此处b、c中的设置原因同。

4. 启动

切换到上层即docker-compose所在目录,执行如下命令启动项目

docker-compose up

观察日志,是否出错。如果出错,根据日志中的错误进行修改;如果未出错,直接CTRL+C结束掉,然后执行如下命令后台启动。之所以不直接后台启动是为了方便观察启动日志。

docker-compose up -d

5. 访问

  • 开放端口(如果你在docker-compose文件中没有更改就是8080)
  • 浏览器访问http://服务器ip:8080
    用户名和密码在connection-profile目录下的test-network.json文件中,默认
    用户名:exploreradmin
    密码:exploreradminpw
    登录之后界面如下所示
    在这里插入图片描述

标签:org1,explorer,blockchain,目录,docker,区块,com,example
来源: https://blog.csdn.net/huangxin388/article/details/117282933

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有