Hyperledger Fabric explorer区块链浏览器搭建

news/2025/2/7 17:07:41/

https://github.com/hyperledger-labs/blockchain-explorer
官方浏览器的github地址
根据文档,采用docker容器的方法搭建explorer。

首先创建explorer的项目,

mkdir explorer

根据官方提供的文件,需要创建的目录结构如下:

在这里插入图片描述
在这里插入图片描述
这是官网提供的模板

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

配置文件

这里的organizations就是你搭建区块链网络的证书配置文件crypto-config文件,因为之前的网络创建的是两个组织,所以配置了两个json文件
这是组织一的network的json文件配置

{"name": "org1-network","version": "1.0.0","client": {"tlsEnable": true,"adminCredential": {"id": "exploreradmin","password": "exploreradminpw"},"enableAuthentication": true,"organization": "Org1MSP","connection": {"timeout": {"peer": {"endorser": "300"},"orderer": "300"}}},"channels": {"mychannel": {"peers": {"peer0.org1.example.com": {}}}},"organizations": {"Org1MSP": {"mspid": "Org1MSP","adminPrivateKey": {"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk"},"peers": ["peer0.org1.example.com"],"signedCert": {"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem"}}},"peers": {"peer0.org1.example.com": {"tlsCACerts": {"path": "/tmp/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt"},"url": "grpcs://peer0.org1.example.com:7051"}}
}

这是组织二的network的json文件配置

{"name": "org2-network","version": "1.0.0","client": {"tlsEnable": true,"adminCredential": {"id": "exploreradmin",//登录浏览器的id"password": "exploreradminpw"//密码},"enableAuthentication": true,"organization": "Org2MSP","connection": {"timeout": {"peer": {"endorser": "300"},"orderer": "300"}}},"channels": {"mychannel": {"peers": {"peer0.org2.example.com": {}}}},"organizations": {"Org2MSP": {"mspid": "Org2MSP","adminPrivateKey": {"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/priv_sk"},"peers": ["peer0.org2.example.com"],"signedCert": {"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem"}}},"peers": {"peer0.org2.example.com": {"tlsCACerts": {"path": "/tmp/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt"},"url": "grpcs://peer0.org2.example.com:9051"}}
}

然后配置config.json文件

{"network-configs": {"org1-network": {"name": "org1-network","profile": "./connection-profile/org1-network.json"},"org2-network": {"name": "org2-network","profile": "./connection-profile/org2-network.json"}},"license": "Apache-2.0"
}

最后配置docker-compose.yaml文件

# SPDX-License-Identifier: Apache-2.0
version: '2.1'volumes:pgdata:walletstore:networks:mynetwork.com:name: fixtures_testservices:explorerdb.mynetwork.com:image: hyperledger/explorer-db:latestcontainer_name: explorerdb.mynetwork.comhostname: explorerdb.mynetwork.comenvironment:- DATABASE_DATABASE=fabricexplorer- DATABASE_USERNAME=hppoc- DATABASE_PASSWORD=passwordhealthcheck:test: "pg_isready -h localhost -p 5432 -q -U postgres"interval: 30stimeout: 10sretries: 5volumes:- pgdata:/var/lib/postgresql/datanetworks:- mynetwork.comexplorer.mynetwork.com:image: hyperledger/explorer:latestcontainer_name: explorer.mynetwork.comhostname: explorer.mynetwork.comenvironment:- DATABASE_HOST=explorerdb.mynetwork.com- DATABASE_DATABASE=fabricexplorer- DATABASE_USERNAME=hppoc- DATABASE_PASSWD=password- LOG_LEVEL_APP=info- LOG_LEVEL_DB=info- LOG_LEVEL_CONSOLE=debug- LOG_CONSOLE_STDOUT=true- DISCOVERY_AS_LOCALHOST=false- PORT=${PORT:-8080}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/walletports:- 8080:8080depends_on:explorerdb.mynetwork.com:condition: service_healthynetworks:- mynetwork.com

开始运行docker-compose.yaml文件
创建explorer、explorerdb两个容器
在这里插入图片描述
通过浏览器访问explorer:
127.0.0.1:8080,登录区块链浏览器。
在这里插入图片描述


http://www.ppmy.cn/news/85585.html

相关文章

如何快速实现一个rpa

RPA,也就是机器人流程自动化,主要是用来自动化一些日常、重复性的工作。它可以被视为一种软件机器人,可以模拟人类在计算机或者数字系统中的行为。 如果你想要快速实现一个RPA,以下是一些基本步骤: 定义你的需求&…

webrtc下载与编译

本文主要介绍在Linux环境下编译webrtc 文章目录 本文主要介绍在Linux环境下编译webrtc一、环境准备二、depot Tools下载三、webrtc下载四、webrtc编译总结 一、环境准备 电脑能够科学上网,需要访问Google,虽然国内有很多镜像,但是拉下来参差不…

面试官:工作三年,还来面初级软件测试?恐怕你的软件测试工程师的头衔要加双引号...

相信身为测试工程师的你可能经历过这些: 已经工作三年了,每个项目都会加班加点全力以赴去完成,薪资增长幅度却不如人意。 听说年后离职的老同事,金三刚拿下高薪offer,年薪直奔50万了。 由于现在的公司接触不到新技术&…

三阶段项目

DHCP分配不到冲突地址 需要重启 再分配 用这个命令 reset ip pool name vlan40 all ospf: 建立邻居表:报文:hello报文 状态:down int 2-way 选举DR 同步数据库:报文:DD-LSR-LSU-LSACK 状态&#xff…

C++中利用哈希表实现快速的匹配和查找 :std::unordered_map 或 std::unordered_set 的区别

C中利用哈希表实现快速的匹配和查找 快速匹配和检索元素的常见方法哈希表的特点std::unordered_map 或 std::unordered_set 的区别哈希表unordered_map,如何用多个元素来验证是否存在,1. 使用 pair:2. 使用 tuple:3. 使用自定义的…

LeetCode:相交链表(java)

相交链表 题目描述指针法解题 #LeetCode 160题:相交链表,原题链接 原题链接。相交链表–可以打开测试 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返…

Fiddler抓包工具之fiddler界面工具栏介绍

fiddler界面工具栏介绍 ​ (1)WinConfig:windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopb…

常用adb命令记录下

adb devices 查看当前连接设备adb start-server 启动adb进程adb kill-server 终止adb进程adb shell 进入shell模式(Linux模式),当连接有多个设备时,需执行命令adb-s设备名shell 注:进入shell模式后序执行Linux命令adb install apk路径 安装apk至设备,当连接有多个设备时,需执行…