跳转至

一、文章摘要

一个商用的区块链网络,随着业务的发展变化,经常需要动态的新增/移除组织,以满足业务/安全等管理需要。本文在既有组织/节点的基础上,新增一个组织两个节点。

Fabric 是联盟链,一个 Channel 就好比一个子链,如果有新的机构需要加入,则必须得到联盟内的成员的认可。基于这样的场景,Fabric 在为 channel 新增 org 时,会涉及诸多的权限和证书操作。

Fabric 动态新增组织步骤

  1. 为新 org 生成证书
  2. 为新 org 生成配置文件
  3. 生成和提交新 org 的配置
    1. peer channel fetch config 创建添加新 org 的配置交易,为网络新增 org
    2. peer channel signconfigtx 为配置交易签名,需网络中 MAJORITY 的 org 都签名
    3. peer channel update 提交签名后的配置交易至 orderer
  4. 将新 org 添加入 channel
    1. 启动新 org 集群,一般会有一个 cli 和多个 peer
    2. peer channel fetch 于 cli 中从 orderer 中获取 channel 创世块
    3. peer channel join 将新 org 下的 peer 加入 channel
  5. 升级chaincode和背书策略
    1. peer chaincode install 为新 org 的 peer 安装 chaincode,于新 org 的 cli 中完成
    2. peer chaincode install, 为其他 org 升级 chaincode,于原 org 的 cli 中完成
    3. peer chaincode upgrade 升级背书策略,于原 org 的 cli 中完成 此文通过 fabric-samples 下的 first-network 样例为基础,在其区块链网络上,为通道 cfichannel 新增一个组织Cfec,CfecOrg 包含个 peer。

评论