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

升级Hyperledger Composer至0.19.4后启动网络报$sysregistries对象不存在错误

解决Hyperledger Composer 0.19.4启动网络时“Object with id does not exist in $sysregistries”错误

我之前帮不少开发者解决过Composer从0.16.x升级到0.19.x后遇到的这个报错,大概率是升级过程中系统注册表、卡片权限或者配置兼容性的问题,给你几个针对性的解决方案:

1. 验证PeerAdmin卡片的有效性与权限

0.19.x版本对身份权限的校验比0.16严格很多,首先确认你的PeerAdmin卡片是否能正常连通Fabric网络:

  • 列出所有卡片检查状态:
    composer card list
    
  • 测试卡片连通性:
    composer ping --card PeerAdmin@vecozo-gts-network-patient-pieterpost-zorgverlener-zorgpeter-patient-pieterpost
    

如果ping不通,说明卡片配置有问题,需要重新生成(见方案4)。

2. 清理旧版本残留的系统注册表数据

0.16和0.19的系统注册表结构差异较大,旧数据会导致冲突:

  • 先停止已部署的旧网络(如果有的话):
    composer network stop --card YourBusinessNetworkCard@xxx -n vecozo-gts-network -V 0.0.8
    
  • 删除Peer节点上的链码残留数据(根据你的Fabric部署路径调整):
    sudo rm -rf /var/hyperledger/production/chaincodes/*
    
  • 删除客户端本地的旧业务卡片和缓存:
    composer card delete --card YourBusinessCard@xxx
    rm -rf ~/.composer/cards/*
    rm -rf ~/.composer/client-data/*
    

3. 检查背书策略文件格式是否兼容0.19.x

0.19.x对背书策略的语法做了更新,确保你的endorsement-policy_gtschannel-patient-pieterpost-zorgverlener-zorgpete...文件格式正确:

  • 确认策略使用的是0.19支持的签名策略结构,比如示例格式:
    {
      "identities": [
        {
          "role": {
            "name": "member",
            "mspId": "Org1MSP"
          }
        }
      ],
      "policy": {
        "1-of": [
          {
            "signed-by": 0
          }
        ]
      }
    }
    

避免使用0.16的旧格式,比如基于ACL的策略写法。

4. 重新生成PeerAdmin卡片

旧版本的PeerAdmin卡片可能包含不兼容的证书或配置,重新生成适配0.19的卡片:

  • 基于当前Fabric网络的连接配置文件生成卡片:
    composer card create -p connection-profile.json -u PeerAdmin -c ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem -k ./crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk -r PeerAdmin -r ChannelAdmin
    
  • 导入新生成的卡片:
    composer card import --file PeerAdmin@vecozo-gts-network.card
    

5. 确认Fabric网络版本兼容性

Composer 0.19.4要求对应的Fabric版本是1.3.x,如果你的Fabric网络是1.2或更早版本,会出现注册表交互错误,需要升级Fabric到1.3.x版本后再尝试启动网络。

按以上步骤逐一排查,应该能解决这个报错。

内容的提问来源于stack exchange,提问作者Bas Poldervaart

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:49:37