无法在 Hyperledger Composer 中发布身份

Unable to issue identity in Hyperledger Composer

我正在尝试向网络中已存在的参与者颁发身份。

 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. 如果我在上面的连接函数中使用 PeerAdmin@hlfv1 的卡名,我会收到错误消息。 "Error trying to ping. Error: Error trying to query business network. Error: Missing \"chaincodeId\”提案请求中的参数
  2. 如果我在上面的连接函数中使用 admin@tutorial-network 的卡名,我得到错误 "fabric-ca request register failed with errors [[{\"code\":400,\"message\":\"Authorization failure\"}]]"

对于选项 1,我知道给定的卡中缺少网络名称,而选项 2 意味着管理员无权颁发身份。但是,我似乎找不到任何指导我如何使用其中任何一个来实现我的 objective 的文档。非常欢迎任何帮助。

虽然我列出了我用来实现相同目的的 javascript 代码,但我不介意是否有人可以使用 composer cli 解释我缺少的内容。

https://hyperledger.github.io/composer/latest/managing/identity-issue.html

你肯定会使用 admin@tutorial-network 卡,因为 PeerAdmin 没有颁发身份的权限(admin 有)。

您是否已经:1) composer card import -f networkadmin.card(根据教程)? 2) composer network ping -c admin@tutorial-network 使用卡片(现在在卡片商店),从而填充管理员的凭据(certificate/private 密钥)。

只有到那时,admin 才会被识别为发布更多身份的身份。自从您进行导入等操作后,您是否有可能在某个阶段启动一个新的 dockerized CA 服务器?

如果你通过命令行发布一个test身份会发生什么(使用admin@tutorial-network?会失败吗)