安装blockchain-explorer区块浏览器(代码片段)

小小本科生 小小本科生     2022-10-27     670

关键词:

概述

最近在做区块链相关项目(基于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结束掉,然后执行如下命令后台启动。之所以不直接后台启动是为了方便观察启动日志。
tips:

  1. 如果这里报net_test网络找不到,说明你用的是最新版网络,2.3版本已经将网络名改为fabric_test了,修改docker-compose文件,将networks.mynetwork.com.external.name字段由net_test改为fabric_test即可
  2. 前台启动时无论是否出错,CTRL+C停止后执行以下命令以进行一些容器关闭后的清除工作,防止一些环境未重置引发不必要的错误
    docker-compose down
docker-compose up -d

5. 访问

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

fabric1.4在自己项目中安装区块链浏览器blockchain-explorer(代码片段)

说在前面由于项目时间不够了,所以这里直接安装现成的区块链浏览器,就不自己解析区块了,有时间再说有两种使用方法,一种是采用docker镜像法,一种是本地安装数据库法,我使用的是docker镜像法参考... 查看详情

blockchain-explorer区块链浏览器中文版部署

...载中文版Fabric区块链浏览器代码gitclonehttps://github.com/ezpod/blockchain-explorer.git3.按照本博客里的英文版进行配置相关内容此处多配置一项数据库,初始化postgresql数据库cdblockchain-explorer/app/persistence/fabric/postgreSQL/dbsudo-upostgres./create... 查看详情

以太坊区块链浏览器搭建(代码片段)

...以下文档解决自己的实际问题。文章目录一、环境准备1.1安装git、wget、screen1.2安装node二、启动以太坊节点三、安装及启动浏览器3.1下载区块链浏览器代码3.2修改explorer项目文件中的配置3.3下载bower工具3.4启动区块链浏览器四、访... 查看详情

钱包管理界面和区块链浏览器(代码片段)

...增加新接口前端技术选型区块链浏览器钱包管理界面体验安装和启动后台节点安装和启动区块链浏览器安装和启动钱包管理界面小结概览本章节我们将为我们的区块链实现一个钱包管理界面和一个区块链浏览器。我们的后台现在... 查看详情

hyperledgerexplore浏览器配置启动教程(代码片段)

...lore。HyperledgerExplorer源代码链接:https://github.com/hyperledger/blockchain-explorer 目录结构├──app Applicationbackendroot,Explorerconfiguration ├──restRESTAPI ├──persistencePersistencelayer ├──fabricPersistenceAPI(HyperledgerFabric) ├──platformPlatf... 查看详情

区块链——hyperledgerfabric2.2多机搭建及区块链浏览器(代码片段)

文章目录一、搭建环境1、设置网络2、安装docker和docker-compose3、安装golang环境二、生成Fabric证书1、编写证书文件2、生成证书文件3、复制证书文件到节点三、生成通道文件1、编写创世块文件2、生成创世块文件和通道文件1、生成... 查看详情

区块链以太坊环境搭建(详细篇)

...配置投票合约为例)以太坊合约配置步骤大体如下:一.安装Mist浏览器(已经集成以太坊钱包)二.安装配置基于Go语言的geth命令三.在本地搭建私有链四.在私有链上完成挖矿工作五.使用Mist在私有链上配置投票合约 具... 查看详情

16.fabric2.2区块链农产品溯源系统-区块链浏览器部署(fabricexplorer)(代码片段)

匹配Fabric2.2版本的区块链浏览器部署。1.在/root下创建目录explorer2.构建以下目录,其中pgdata、walletstore目录是运行时动态创建的数据库,如果重新部署区块链集群,需要./stop.sh,删除这两个目录后,重新执行/start.sh3.crypto目录是区... 查看详情

各种区块链浏览器的地址总汇

参考技术A一.USDT-BTC浏览器:1.https://www.omniexplorer.info/2.https://www.oklink.com/usdt二.BTC浏览器:1.https://btc.com/2.比特币/交易https://blockchair.com/3.btcJSON-RPC:https://github.com/btcsuite/btcd/blob/master/docs/json_rpc_api.md#getbestblockhash三.ETH浏览器: 查看详情

攻略:手把手教你如何看懂以太坊区块链浏览器(配图更清晰)

查询以太坊区块链上的数据我们需要通过区块链浏览器来看区块里的信息,浏览器其实有很多,这里用的是 Etherscan,网址 https://etherscan.io/ 可以用来查询在以太坊上的很多信息,比如转账记录,地址余额,代... 查看详情

通过区块浏览器在哪里获得智能合约交互的签名?

】通过区块浏览器在哪里获得智能合约交互的签名?【英文标题】:Wheretogetasignatureforsmartcontractinteractionviablockexplorer?【发布时间】:2022-01-1516:52:07【问题描述】:在BSC(Binance智能链)合约中,我经常遇到signature参数,但我不知... 查看详情

谈谈区块链入门技能:以太坊区块链浏览器如何使用?

...话号码、电子邮件或实际地址。取而代之的是,用户安装一个名为“钱包”的应用程序,该应用程序会为该用户生成一个称为“地址”的唯一标识符和一个称为“私钥”用于身份验证的类似密码的字符串。就像一个拥有... 查看详情

twitter资讯|关于nirvanachain区块链浏览器的上线公告

Wewillreleasethe #Nirvana ChainBlockchainexploreronJuly22at12noonEST.Atthattime,userswillbeabletoview #Testent#Khaos' real-timeblockdata,transactiondataandyourownaccountinformation.Thankyouforyour 查看详情

13fabricnodesdk1.4.8简单实现区块浏览器的其他功能

文章目录声明使用的版本本文要实现的区块浏览器功能开始实现功能qscc的概念使用高层api查询qscc得到调用invoke函数提交的交易id调用智能合约中GetTransactionByID函数调用智能合约中GetBlockByTxID函数调用测试开始实现功能实现查询最... 查看详情

fabric系列-体验faricexplorer(代码片段)

...1.4.8#下载fabric区块链浏览器gitclonehttps://github.com/hyperledger/blockchain-explorercdblockchain-explorergitcheckoutv1.1.4部署fabric浏览器修改文件blockchain-explorer/docker-compose.yamlnetworks:mynetwork.com:external:name:net_byfn==>必须和fabric测试网在同一个d... 查看详情

substrate区块链及运行时模块简介(代码片段)

...Substrate链。本教程的主要内容包括:学习Susbtrate链的安装与设置学习Susbtrate链的配置方法,以及如何使用PolkadotJS浏览区块链状 查看详情

区块链项目开发区块链影响社交媒体

现在,人们的生活离不开各种社交媒体,而这些社交平台也存在一些严重的缺陷,比如Facebook的数据泄漏丑闻,Instagram或Twitter会按照自己的意愿向用户展示内容等。在这些社交平台上,对于作为用户的你来说,最令人头疼问题就... 查看详情

区块链网站

区块链信息查看:https://www.etherchain.org/去中心化应用:https://dapps.ethercasts.com区块链中文资源:https://liuboyu.github.io/blockchain/以太坊钱包和浏览器下载:https://github.com/ethereum/mist/releases 查看详情