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

Hyperledger双组织网络新增身份无法访问,报错身份未注册

解决Hyperledger Composer身份未注册的Ping失败问题

看起来你在创建Rock的业务名片时漏了关键一步:只从CA获取了身份证书,但没在supply-chain业务网络中注册这个身份,所以链码会返回"身份未注册"的错误。下面是完整的修复流程:

1. 确保你有业务网络的管理员权限卡片

首先得用业务网络的管理员卡片(比如默认生成的admin@supply-chain)来操作。如果还没导入这个卡片,执行:

composer card import -f admin@supply-chain.card

要是你没有这个卡片,可以通过PeerAdmin卡片初始化业务网络时生成,或者确认你手头有其他具备业务网络管理员权限的卡片。

2. 在业务网络中注册并颁发Rock的身份

这是核心步骤——让supply-chain业务网络认可Rock的身份。用管理员卡片执行composer identity issue命令:

composer identity issue -c admin@supply-chain -f rock.id -u rock -n supply-chain

参数说明:

  • -c:指定业务网络管理员卡片
  • -f:生成的身份配置文件,后续创建卡片会用到
  • -u:要注册的用户名(这里是rock)
  • -n:你的业务网络名称(supply-chain)

如果你的业务网络定义了参与者类型(比如org1.example.com.User),并且已经创建了Rock对应的参与者实例,可以加上-a参数关联身份与参与者:

composer identity issue -c admin@supply-chain -f rock.id -u rock -a "org1.example.com.User#rock" -n supply-chain

3. 重新创建并导入Rock的业务名片

现在结合CA证书和业务网络的身份配置来创建合法的卡片:

composer card create -p connection-org1.json -u rock -n supply-chain -c rock/admin-pub.pem -k rock/admin-priv.pem -f rock@supply-chain.card --file rock.id

然后导入卡片:

composer card import -f rock@supply-chain.card

4. 测试网络连接

最后执行ping命令验证:

composer network ping -c rock@supply-chain

为什么之前的操作失败?

composer identity request只是从CA获取了加密用的公私钥证书,但Hyperledger Composer的业务网络需要单独注册身份,确认该身份的权限和合法性。跳过composer identity issue这一步,业务网络就会认为Rock是"未注册"的陌生身份,直接拒绝访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:53:33