我正在尝试向已存在于网络中的参与者发出身份。
return this.bizNetworkConnection.connect(this.cardname)
.then((result) => {
let email = 'user@gmail.com',
username = email.split('@')[0];
this.businessNetworkDefinition = result;
return this.bizNetworkConnection.issueIdentity('org.test.Person#user@gmail.com', username);
})
.then((result) => {
console.log(`userID = ${result.userID}`);
console.log(`userSecret = ${result.userSecret}`);
})
我希望我会在控制台上看到userID和userSecret,但是我收到了如下所述的错误。
按照他们的文档开发人员教程:
对于选项1,我知道给定卡中缺少网络名称,而选项2意味着管理员无权发出身份。但是,我似乎无法找到任何文件指导我如何使用它们来实现我的目标。任何帮助都非常欢迎。
虽然我列出了我用来实现相同的javascript代码,但我不介意是否有人可以使用composer cli来解释我所缺少的内容。
答案 0 :(得分:1)
请参阅https://hyperledger.github.io/composer/latest/managing/identity-issue.html
您肯定会使用admin@tutorial-network
卡,因为PeerAdmin无权发放身份(管理员)。
您是否已经做过:1)composer card import -f networkadmin.card
(根据教程)? 2)composer network ping -c admin@tutorial-network
使用该卡(现在在卡片商店中),从而填充管理员的凭证(证书/私钥)。
只有在那时,管理员才会被认为是发出更多身份的身份。您是否可以在某个阶段启动新的dockerized CA服务器,因为您执行了导入等操作?
如果您通过命令行发出test
身份(使用admin @ tutorial-network?会失败)会发生什么?