Hyperledger Fabric 入门笔记(十七)Fabric V2.5 测试网络部署补充 - 手动为已加入通道的组织增加Peer节点

embedded/2025/2/12 19:28:40/

文章目录

  • 一、手动为已加入通道的组织增加Peer节点
    • 1.1. 准备工作
    • 1.2. 流程
      • 1.2.1. 为新增Peer节点生成加密材料
      • 1.2.2. 启动新增的Peer节点
      • 1.2.3. 将新增Peer节点加入现有通道


一、手动为已加入通道的组织增加Peer节点

1.1. 准备工作

本节通过向已加入应用通道的组织Org1增加Peer节点来扩展Fabric测试网络。扩展之前需要先启动测试网络并创建通道:

cd hyfa/fabric-samples/test-network
./network.sh down
./network.sh up createChannel

将二进制文件和配置文件core.yaml的目录加入环境变量:

export PATH=$PATH:${PWD}/../bin/
export FABRIC_CFG_PATH=${PWD}/../config/

1.2. 流程

1.2.1. 为新增Peer节点生成加密材料

拷贝组织Org1的MSP配置文件crypto-config-org1.yaml并重命名:

cp ./organizations/cryptogen/crypto-config-org1.yaml ./organizations/cryptogen/add-peer-org1.yaml

修改add-peer-org1.yaml

gedit ./organizations/cryptogen/add-peer-org1.yaml

将组织Org1的节点数量增加到两个。

在这里插入图片描述

查看组织Org1的MSP:

tree ./organizations/peerOrganizations/org1.example.com/peers

使用cryptogen工具更新MSP:

cryptogen extend --config=./organizations/cryptogen/add-peer-org1.yaml --input ./organizations/

extend子命令可以在原有MSP结构的基础上增加新的Peer节点加密材料,且共用一个根CA。--input标志的参数应与cryptogen generate命令使用的--output标志一致。

更新后再一次查看组织Org1的MSP:

tree ./organizations/peerOrganizations/org1.example.com/peers

1.2.2. 启动新增的Peer节点

编写组织Org1的新增Peer节点的节点配置文件:

gedit ./compose/compose-addpeer-org1.yaml

内容如下:

version: '3.7'volumes:peer1.org1.example.com:networks:test:name: fabric_testservices:peer1.org1.example.com:container_name: peer1.org1.example.comimage: hyperledger/fabric-peer:latestlabels:service: hyperledger-fabricenvironment:- FABRIC_CFG_PATH=/etc/hyperledger/peercfg- FABRIC_LOGGING_SPEC=INFO#- FABRIC_LOGGING_SPEC=DEBUG- CORE_PEER_TLS_ENABLED=true- CORE_PEER_PROFILE_ENABLED=false- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt# Peer specific variables- CORE_PEER_ID=peer1.org1.example.com- CORE_PEER_ADDRESS=peer1.org1.example.com:7061- CORE_PEER_LISTENADDRESS=0.0.0.0:7061- CORE_PEER_CHAINCODEADDRESS=peer1.org1.example.com:7062- CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7062- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7061- CORE_PEER_LOCALMSPID=Org1MSP- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp- CORE_OPERATIONS_LISTENADDRESS=peer1.org1.example.com:9454- CORE_METRICS_PROVIDER=prometheus- CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG={"peername":"peer1org1"}- CORE_CHAINCODE_EXECUTETIMEOUT=300s#Generic peer variables- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fabric_test      volumes:- ../organizations/peerOrganizations/org1.example.com/peers/peer1.org1.example.com:/etc/hyperledger/fabric- peer1.org1.example.com:/var/hyperledger/production- ./docker/peercfg:/etc/hyperledger/peercfg- ${DOCKER_SOCK}:/host/var/run/docker.sockworking_dir: /rootcommand: peer node startports:- 7061:7061- 9454:9454networks:- test

将新增的Peer节点启动:

export DOCKER_SOCK="${DOCKER_HOST:-/var/run/docker.sock}"
docker-compose -f compose/compose-addpeer-org1.yaml up -d

1.2.3. 将新增Peer节点加入现有通道

对于已加入现有通道的组织,新增的Peer节点加入通道不需要获得其它组织的许可。

设置环境变量,以Org1 admin用户操作peer CLI,指向Org1新增的Peer节点peer1.org1.example.com

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7061

将Org1新增的Peer节点加入到通道mychannel中:

peer channel join -b ./channel-artifacts/mychannel.block


http://www.ppmy.cn/embedded/161673.html

相关文章

HTML 左右联动高亮示例

HTML 左右联动高亮示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>左右联动高亮示例</titl…

【C/C++】每日温度 [ 栈的应用 ] 蓝桥杯/ACM备赛

数据结构考点&#xff1a;栈 题目描述&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0…

LS-MDMTSP:粒子群优化算法PSO求解大规模多仓库多旅行商问题(LS-MDMTSP),MATLAB代码

一、问题定义 大规模多仓库多旅行商问题&#xff08;Large - Scale Multi - Depot Multi - Traveling Salesman Problem&#xff0c;简称 LS - MDMTSP&#xff09;是在经典旅行商问题基础上拓展而来的复杂组合优化问题。与单仓库情形不同&#xff0c;该问题设定了多个仓库&…

【设计模式】【行为型模式】命令模式(Command)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f4eb; 欢迎V&#xff1a; flzjcsg2&#xff0c;我们共同讨论Java深渊的奥秘 &#x1f…

React(4)

要求&#xff1a; 1、获取输入框值 2、点击按钮将数据写入数组中&#xff08;前端实现不通过接口&#xff09; 3、发送成功后清空输入框以及聚焦 实现&#xff1a; 设置一个变量收集输入框数据使用useState方法 const [inputV,setInputV]useState() 输入框进行绑定输入值…

Express 中间件

在构建 Web 应用程序时&#xff0c;中间件&#xff08;Middleware&#xff09;扮演着至关重要的角色。它允许你定义一系列的函数来处理 HTTP 请求和响应过程中的各种任务。Express.js 是 Node.js 上最流行的框架之一&#xff0c;以其简洁且强大的中间件机制著称。本文将深入探讨…

使用css3锥形渐变conic-gradient实现有趣样式

在之前的篇幅中介绍过css的线性渐变linear-gradient()和径向渐变radial-gradient()&#xff0c;如果你对这两种渐变还不了解的话&#xff0c;可以看一下之前录制的视频教程。 往期文档地址&#xff1a;https://blog.csdn.net/qq_18798149/article/details/134389038 视频学习地…

网络基础知识与配置

目录 网络基础知识 &#xff08;一&#xff09;网络的概念 &#xff08;二&#xff09;网络协议 &#xff08;三&#xff09;网络拓扑结构 &#xff08;四&#xff09;IP地址和子网掩码 显示和配置网络接口 &#xff08;一&#xff09;在Windows系统中 &#xff08;二&a…