Hyperledger composer 安装未安装业务网络

Hyperledger composer install is not installing business network

我正在使用 Ubuntu 16.04.2 LTS 作为 VM,以及 composer v0.19.1。我已经按照 hyperledger composer playgroung 中的文档安装了所有先决条件以及 hyperledger composer 和 fabric。我已经按照教程逐行创建了一个业务网络。当我要通过以下命令安装业务网络时:

composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna

它给我以下错误:

未提供连接类型,可能是因为连接配置文件没有 'x-type' 属性 定义。

同时提供了错误的屏幕截图。

我已通过

检查并确保 PeerAdminCard 存在
composer card list

当然,Fabric 已启动。如果有人提到我做错了什么,我将不胜感激。谢谢。

我遇到了与您完全相同的错误。事实证明,如果您从 0.16 或更早版本更新 Composer,卡片商店仍然有旧的 PeerAdmin 卡片,现在 not 与 0.19 版本兼容.即使使用 composer card delete --card <CARD_NAME_HERE> 删除卡片也不起作用。快速而肮脏的解决方案是手动删除卡片商店。它通常在 ${HOME}/.composer 中,因此删除此目录应该有效。

rm -fr ${HOME}/.composer

对于您的其他问题,最简单的解决方案是替换旧版本的 Hyperledger 并从头开始进行新安装。这意味着删除作曲家以及杀死和删除所有以前的 Docker 容器:

docker kill $(docker ps -q)
docker rm $(docker ps -aq)
docker rmi $(docker images dev-* -q)

如果可以的话,基本上从头开始!

当您将 composer modules 从早期版本升级到最新版本时,连接配置文件将与系统不兼容。一个理想的解决方案是删除并删除 composer 文件夹并从主目录创建 .composer 文件夹,然后再次尝试创建 PeerAdmin 卡。一旦完成,您就可以开始安装新的业务网络应用程序了。

您遇到的第二个问题是 createPeerAdminCard.sh 脚本 - 您使用的是默认为 Fabric v1.0 的 'old' 版本。

默认假设为 hlfv1,因为未设置环境变量 FABRIC_VERSION。因此 createPeerAdminCard.sh 脚本假定您需要 hlfv1 卡并创建文件,但 Composer v0.19 无法在脚本末尾导入该旧卡。

快速解决方案是 export FABRIC_VERSION="hlfv11" 然后 运行 createPeerAdminCard.sh

我怀疑您也可能对 Fabric 的 hlfv1 / v11 有问题。您可以通过 运行ning docker psdocker images 检查 Fabric 版本 - 如果它们最后有 1.0,您需要将它们全部删除并且 运行 downloadFabric.sh 在与导出 FABRIC_VERSION 变量相同的 window 中,然后 运行 startFabric.sh

每次 运行 这些 Fabric Tools 脚本之一时,您需要记住导出该环境变量 - 因此更好的答案可能是删除 Fabric Tools 文件夹和所有 docker 图像和容器- 然后下载新版本的 Fabric 工具,其中包括 Fabric 1.0

的新默认值