Composer v0.19.4多用户模式添加参与者报错:admin身份未注册
解决Composer v0.19.4中"当前身份未注册"的问题
我来帮你搞定这个问题——你遇到的报错 The current identity, with the name 'admin' and the identifier 'xxxxx', has not been registered,本质是你把admin身份导入本地钱包后,还没在目标业务网络中完成身份注册。多用户模式下,业务网络需要明确记录哪些身份是合法可访问的,下面是具体的解决步骤:
1. 先确认本地钱包的身份状态
先执行命令检查admin身份是否确实在本地钱包里:
composer wallet list
如果输出里能看到admin身份,再继续下一步。
2. 用业务网络的初始管理员注册admin身份
多用户模式部署的业务网络,会有一个初始管理员身份(比如部署时生成的PeerAdmin,或是你自定义的初始管理员账号)。你需要用这个初始身份,把admin身份注册到业务网络中:
composer identity issue -n <你的业务网络名称> -i <初始管理员用户名> -s <初始管理员密码> --newUserId admin --certificate <admin身份的证书文件路径>
如果你的admin身份是通过证书文件导入的,记得替换<admin身份的证书文件路径>;如果是新生成的身份,也可以直接用--newUserId admin参数完成创建+注册。
3. 验证身份注册结果
注册完成后,用初始管理员身份查看业务网络里的已注册身份列表,确认admin已经在列:
composer identity list -n <你的业务网络名称> -i <初始管理员用户名> -s <初始管理员密码>
4. 重新用admin身份操作业务网络
现在你可以切换回admin身份,尝试添加参与者了:
composer participant add -n <你的业务网络名称> -i admin -s <admin的密码> -d '{"$class":"<你的参与者类名>","id":"<参与者ID>",...}'
如果还是有异常,可以先清除本地钱包缓存,重新导入admin身份后再尝试。
另外要注意:多用户模式下,Res Server的钱包配置要和你本地钱包的配置保持一致,避免出现身份读取异常的情况。
内容的提问来源于stack exchange,提问作者Mil R
相关产品推荐
相关产品推荐

