You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hyperledger Fabric中添加第四个组织?

在Hyperledger Fabric中添加第四个组织的具体步骤

本质上,添加第四个组织(以下称Org4)的流程完全复用官方addOrg3的逻辑,只是需要将所有与Org3相关的配置、命名替换为Org4的对应内容,具体步骤如下:

1. 复制并改造addOrg3模板文件夹

  • 从官方示例中复制addOrg3文件夹,重命名为addOrg4
  • 批量替换文件夹内所有文件中的命名:
    • 将Org3、org3、Org3MSP统一替换为Org4、org4、Org4MSP
    • 修改docker-compose-org4.yaml中的端口配置,避免与现有组织冲突(例如将Peer的7051端口改为8051,7053改为8053)

2. 生成Org4的证书与密钥

  • 进入addOrg4/crypto-config目录,修改crypto-config.yaml,确保组织名称、域名、节点名称完全对应Org4的定义
  • 运行命令生成证书:
    cryptogen generate --config=./crypto-config.yaml
    
  • 若使用Fabric CA而非cryptogen,需修改addOrg4/fabric-ca下的CA配置文件,启动CA服务后为Org4生成身份证书

3. 更新通道配置以纳入Org4

  • 先获取当前通道的配置区块:
    peer channel fetch config config_block.pb -o orderer.example.com:7050 -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
  • 将配置区块转成JSON格式:
    configtxlator proto_decode --input config_block.pb --type common.Block --output config_block.json
    
  • 提取通道核心配置:
    jq .data.data[0].payload.data.config config_block.json > config.json
    
  • 在configtx.yaml中添加Org4的MSP定义,然后生成Org4的配置更新片段,最终打包成org4_update_in_envelope.pb
  • 让网络中已有的组织(Org1、Org2、Org3)的管理员分别对配置更新签名
  • 提交配置更新到通道:
    peer channel update -f org4_update_in_envelope.pb -c mychannel -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    

4. 启动Org4的节点服务

  • 进入addOrg4目录,检查docker-compose-org4.yaml中的证书挂载路径,确保指向刚生成的Org4证书目录
  • 启动Org4的Peer与CA服务:
    docker-compose -f docker-compose-org4.yaml up -d
    
  • 验证容器运行状态:
    docker ps | grep org4
    

5. 将Org4节点加入通道

  • 进入Org4的CLI容器:
    docker exec -it cli.org4.example.com bash
    
  • 获取通道创世区块(若本地无缓存):
    peer channel fetch 0 mychannel.block -o orderer.example.com:7050 -c mychannel --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
  • 执行节点加入通道命令:
    peer channel join -b mychannel.block
    

6. 调整链码背书策略(按需操作)

  • 如果链码需要Org4参与背书,需修改背书策略并升级链码
  • 在Org4的Peer上安装链码:
    peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/
    
  • 升级链码并更新背书策略:
    peer chaincode upgrade -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -v 1.1 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer','Org3MSP.peer','Org4MSP.peer')"
    

内容的提问来源于stack exchange,提问作者Alif Daido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:50:29