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

Hyperledger Fabric v2.2 通道更新第二种签名实现方案咨询

Hyperledger Fabric v2.2 分布式收集通道更新签名操作指南

以下操作默认你已经完成前置工作:拉取通道最新配置、计算新增组织的配置差异、生成未签名的配置更新文件。

一、CLI 端操作步骤

  • 分发未签名的配置更新文件
    将生成的config_update.pb文件独立发送给所有需要参与签名的组织管理员,不需要按顺序传递,各组织可独立完成签名操作。
  • 各组织独立完成签名
    每个组织的管理员切换到自身身份上下文后,执行以下命令生成对应组织的签名文件:
    peer channel signconfigtx -f config_update.pb -o ${排序节点地址} --tls --cafile ${排序节点TLS根证书路径}
    
    命令执行完成后会在当前目录生成config_update.pb.sig签名文件,各组织只需将该文件返回给配置更新发起方即可。
  • 发起方拼接签名提交更新
    收集到满足签名策略要求的所有签名文件后,发起方执行以下命令完成通道更新提交,v2.2版本CLI支持传入多份签名文件,无需手动拼接签名内容:
    peer channel update -f config_update.pb -c ${通道名称} -o ${排序节点地址} --tls --cafile ${排序节点TLS根证书路径} --signature ./org1.sig --signature ./org2.sig --signature ./org3.sig
    

注意:提交时传入的签名数量只需满足通道修改策略要求即可,不需要所有组织都参与签名。

二、Node.js SDK v2.2 实现代码

需先确保依赖包版本为v2.2.x,核心实现逻辑如下:

  • 各组织侧独立签名逻辑
    const { SigningIdentity } = require('fabric-common');
    // 初始化当前组织管理员的签名身份
    const signingIdentity = new SigningIdentity(管理员证书, 管理员私钥, 组织MSPID, 加密套件实例);
    // 对收到的配置更新字节码做签名
    const signature = signingIdentity.sign(配置更新字节码);
    // 把签名结果和当前组织MSPID返回给发起方即可
    
  • 发起方收集签名后提交逻辑
    const { Gateway } = require('fabric-network');
    
    // 初始化发起方管理员身份的网关连接
    const gateway = new Gateway();
    await gateway.connect(连接配置文件, { identity: 管理员身份标识, wallet: 钱包实例 });
    const channel = gateway.getNetwork(通道名称).getChannel();
    
    // 构造更新请求,直接传入所有收集到的签名
    const updateRequest = {
      configUpdate: 配置更新字节码,
      signatures: 签名数组 // 数组每个元素为{signature: 签名Buffer, msp_id: 对应组织MSPID}
    };
    
    // 提交更新到排序节点
    const orderer = channel.getOrderers()[0];
    const res = await channel.updateChannel(updateRequest, orderer, 30000);
    if(res.status === 'SUCCESS') console.log('通道更新提交成功');
    

注意:v2.2版本SDK移除了v1.4的updateChannelWithSignatures方法,直接使用updateChannel方法传入签名数组即可,接口逻辑做了简化。

内容的提问来源于stack exchange,提问作者D.Zotov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:15:01