在本地游乐场创建新业务网络时授权失败

Authorization failure when creating new business network in local playground

我正在尝试按照本地版本的 playground 的 Composer Playground 教程的步骤并使用本地 fabric peer。

我已经完成了规定的步骤顺序:downloadFabric.sh、startFabric.sh、createPeerAdminCard.sh。打开 playground 后,我可以看到网卡 PeerAdmin@hlfv1 显示没有连接到它的业务网络。

然后我单击部署新业务网络,然后 select "vehicles-lifecycle-network" 示例。该对话框看起来类似于教程中的对话框,但它有额外的字段要求网络管理员的凭据,我不确定在那里放什么。

我尝试复制由 createPeerAdminCard 脚本生成的密钥和证书,我还尝试使用 ID 和 Secret 选项放入 PeerAdmin 或 PeerAdmin@hlfv1。我找到了 this 答案,这表明您指定什么秘密并不重要,因为用户已经导入到密钥库中——不确定它是否相关。这当然没有任何区别。

当我单击部署时,新网络似乎出现在作曲家仪表板中。但是,如果我单击 "Connect Now",弹出窗口会显示 "Error trying to login and get user context" 和 [[{"code":400,"message":"Authorization Failure"}]]。

看来我遗漏了一些非常基本的东西,但我自己无法真正弄明白。

编辑:

重现的简单步骤(假设 basic-sample-network.bna 在本地可用):

> composer runtime install -c PeerAdmin@hlfv1 -n basic-sample-network
> composer network start -a <path to basic-sample-network.bna> -A admin -c PeerAdmin@hlfv1 -C <path to PeerAdmin certificate> -f admin.card
> composer card import -f admin.card
> composer network ping -c admin@basic-sample-network

最后一个命令在控制台中产生与上面相同的错误。

编辑 2:

如果我打开 ~/.composer/cards/PeerAdmin@hlfv1/metadata.json 并添加 "businessNetwork":"basic-sample-network" 参数,我就可以做 composer network ping -c PeerAdmin@hlfv1 成功,并且还可以从 Playground 连接到网络——这将作为目前的解决方法。但是,我创建新网络及其管理卡的方式一定有问题。

Playground 教程假定您连接到 IBM Cloud (Bluemix) 上托管的在线托管 Playground。对于 Online Playground,底层 Fabric 是 'Web' - 即 Fabric 仅存储在本地浏览器中。本文档可能有助于解释不同的 Fabric 运行时:Typical Solution Architecture

Local Playground 为您提供了将业务网络部署到 hlfv1 Fabric 的附加选项,使用您通过 createPeerAdmin.sh 脚本创建的 PeerAdmin 卡。

创建 PeerAdmin 卡后,您应该能够使用 composer-playground 命令在本地启动 Playground,并且您应该能够部署业务网络。在此开发方案中,网络管理员的 凭据 应该是 Id 和 Secret 指定 admin / adminpw。在启动本地游乐场之前不需要 运行 CLI 命令。 (createPeerAdminCard.sh 不是 CLI 命令,而是开发环境设置脚本 - 它应该是 运行。)

如果您想继续 CLI 路线,请参阅 Developer Tutorial