IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> hyperledger fabric explorer 超级账本区块链浏览器搭建-docker的方式 -> 正文阅读

[区块链]hyperledger fabric explorer 超级账本区块链浏览器搭建-docker的方式

hyperledger fabric explorer 超级账本区块链浏览器搭建-使用docker的方式快速搭建一个超级账本区块链浏览器

  • 区块链浏览器可以让用户更加直观地查看当前超级账本网络的情况,来观察整个区块链上的块数,节点数,通道,链码等;

  • 官方推荐的搭建区块链浏览器有两种方法,一种是docker的方式,一种是用代码在自己本地的方式搭建,这里我们选择docker的方式搭建;

官方的github项目地址:

https://github.com/hyperledger/blockchain-explorer

Quick start (using Docker)

1、配置文件

# 新建文件夹,用于存放区块链浏览器搭建过程中的配置文件
mkdir explorer
cd explorer
# wget配置文件,由于被墙,可能无法直接获取
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
# 解决方法,手动创建配置文件,并通过访问下面网址,将配置文件内容复制进去

2、将区块链网络的证书文件整个目录复制到 explorer下,并重命名为organizations:

cd /root/block/geneg/twonodes/
cp -r crypto-config ../explorer/organizations

3、配置文件存放目录结构如下:

# 因为我们有两个peer节点,org1和org2
explorer
	|___docker-compose.yaml
	|___config.json
	|___connection-profile
		   		|___org1-network.json
		   		|___org2-network.json
root@aa:~/block/geneg# cd /root/block/geneg/
root@aa:~/block/geneg# pwd
/root/block/geneg
root@aa:~/block/geneg# ls
twonodes
root@aa:~/block/geneg# mkdir explorer
root@aa:~/block/geneg# ls
explorer  twonodes
root@aa:~/block/geneg# cd explorer
root@aa:~/block/geneg/explorer# mkdir connection-profile
root@aa:~/block/geneg/explorer# ls
connection-profile

(1)新文件:docker-compose.yaml,内容如下

? https://github.com/hyperledger/blockchain-explorer/blob/main/docker-compose.yaml

networks:
  mynetwork.com:
    external:
      name: fabric_test		# 这个地方要改成自己的网络名称
# 修改成自己的文件挂载路径
volumes:
      - ${EXPLORER_CONFIG_FILE_PATH}:/opt/explorer/app/platform/fabric/config.json
      - ${EXPLORER_PROFILE_DIR_PATH}:/opt/explorer/app/platform/fabric/connection-profile
      - ${FABRIC_CRYPTO_PATH}:/tmp/crypto
      - walletstore:/opt/explorer/wallet  # 后面又提到,先往后找一找
# SPDX-License-Identifier: Apache-2.0
version: '2.1'

volumes:
  pgdata:
  walletstore:

networks:
  mynetwork.com:
    external:
      name: twonodes_test

services:

  explorerdb.mynetwork.com:
    image: hyperledger/explorer-db:latest
    container_name: explorerdb.mynetwork.com
    hostname: explorerdb.mynetwork.com
    environment:
      - DATABASE_DATABASE=fabricexplorer
      - DATABASE_USERNAME=hppoc
      - DATABASE_PASSWORD=password
    healthcheck:
      test: "pg_isready -h localhost -p 5432 -q -U postgres"
      interval: 30s
      timeout: 10s
      retries: 5
    volumes:
      - pgdata:/var/lib/postgresql/data
    networks:
      - mynetwork.com

  explorer.mynetwork.com:
    image: hyperledger/explorer:latest
    container_name: explorer.mynetwork.com
    hostname: explorer.mynetwork.com
    environment:
      - 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
    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
    ports:
      - 8080:8080
    depends_on:
      explorerdb.mynetwork.com:
        condition: service_healthy
    networks:
      - mynetwork.com

(2)新文件:org1-network.json,内容如下

? https://github.com/hyperledger/blockchain-explorer/blob/main/examples/net1/connection-profile/test-network.json

“name”: “test-network”, 这一项可以自定义,但是在 config.json加载配置文件路径项

“profile”: “./connection-profile/test-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/User1@org1.example.com/msp/keystore/priv_sk"
			},
			"peers": ["peer0.org1.example.com"],
			"signedCert": {
				"path": "/tmp/crypto/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@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"
		}
	}
}
# 这里的id和password为一会登录的账号和密码
"adminCredential": {
			"id": "exploreradmin",
			"password": "exploreradminpw"
}

(3)新文件:org2-network.json,内容如下

{
	"name": "org2-network",
	"version": "1.0.0",
	"client": {
		"tlsEnable": true,
		"adminCredential": {
			"id": "exploreradmin",
			"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/User1@org2.example.com/msp/keystore/priv_sk"
			},
			"peers": ["peer0.org2.example.com"],
			"signedCert": {
				"path": "/tmp/crypto/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@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:7051"
		}
	}
}

(4)新文件:config.json,内容如下

https://github.com/hyperledger/blockchain-explorer/blob/main/examples/net1/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"
}

4、docker-compose 跑起服务

root@kai:~/block/geneg# cd explorer
root@kai:~/block/geneg/explorer# pwd
/root/block/geneg/explorer
root@kai:~/block/geneg/explorer# ls
config.json  connection-profile  docker-compose.yaml  organizations
root@kai:~/block/geneg/explorer# docker-compose up -d
Recreating explorerdb.mynetwork.com ... done
Creating explorer.mynetwork.com     ... done
root@kai:~/block/geneg/explorer# docker ps -a
hyperledger/explorer:latest
hyperledger/explorer-db:latest

5、浏览器上访问:

云主机ip:8080
账号   "exploreradmin",
密码   "exploreradminpw"
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:24:16  更:2022-05-05 11:24:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:50:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码