作曲家 v0.16.5 错误 - 管理员尚未注册



我刚刚更新到作曲家v0.16.5,当我尝试像往常一样设置网络时,我不断收到错误:

错误:尝试执行 ping 操作时出错。错误:尝试查询业务时出错 网络。错误:链码错误(状态:500,消息:错误:错误: 当前标识,名称为"admin"和标识符 'c2610678f95fe3542e71e0728d114ca724d4c255e63fc2d6c4371942317f6608', 尚未注册

这通常意味着管理员凭据是从另一个时间存储的,但我似乎无法摆脱它们。

我尝试删除所有 docker 容器、映像、织物工具、本地状态并从头开始,但我不断收到相同的错误。

从 v0.16.3 到 v0.16.5 有什么变化吗?

这些是我执行的命令:

创建我的 .bna 文件:

composer archive create --sourceType dir --sourceName . -a ./dist/block-aviation-network.bna

部署网络:

composer runtime install --card PeerAdmin@hlfv1 --businessNetworkName block-aviation-network
composer network start --card PeerAdmin@hlfv1 -A admin -S adminpw -a ./dist/block-aviation-network.bna -f networkadmin.card
composer card import -f networkadmin.card

然后设置将存储所有区块链身份的 mongoDb 实例:

docker run -d --name mongo --network composer_default -p 172.20.10.2:27017:27017 mongo

通过运行以下命令初始化存储在 envars 中的环境变量.txt:

source envvars.txt

为作曲家休息服务器构建 docker 映像

docker build -t myorg/my-composer-rest-server .

设置作曲家 REST 服务器:

docker run 
-d 
-e COMPOSER_CARD=${COMPOSER_CARD} 
-e COMPOSER_NAMESPACES=${COMPOSER_NAMESPACES} 
-e COMPOSER_AUTHENTICATION=${COMPOSER_AUTHENTICATION} 
-e COMPOSER_MULTIUSER=${COMPOSER_MULTIUSER} 
-e COMPOSER_PROVIDERS="${COMPOSER_PROVIDERS}" 
-e COMPOSER_DATASOURCES="${COMPOSER_DATASOURCES}" 
-v ~/.composer:/home/composer/.composer 
--name rest 
--network composer_default 
-p 172.20.10.2:3000:3000 
myorg/my-composer-rest-server

如果我看docker logs rest我看到我应该看到的输出:Browse your REST API at http://localhost:3000/explorer

然后,我通过导航到/auth/github 来验证我的休息服务器。它按预期将我返回到我的 REST 服务器。

然后,我使用以下命令导出我的 networkadmin.card:

composer card export -f networkadmin.card -n admin@block-aviation-network

然后,我将导出的卡导入REST服务器并尝试GET/system/ping/

但是我得到了上面概述的错误。

如果我从终端运行以下命令:

composer transaction submit --card admin@block-aviation-network -d '{"$class":"org.blockaviation.OurSetupDemo"}'

然后向网络中的参与者颁发身份:

composer identity issue --card admin@block-aviation-network --file lessor.card --newUserId lessor --participantId 'resource:org.blockaviation.Lessor#lessor@gmail.com'

如果我然后导出 lessor.card 并将其设置为我的 rest 服务器中的默认卡,我可以成功地执行 GET/system/ping,所以似乎它仅适用于 networkadmin.card?

是否有人在作曲家 v0.16.5 中遇到同样的问题,或者我做错了什么?

您可能遇到此问题 https://github.com/hyperledger/composer/issues/3413

0.16.3 到 0.16.5 之间的唯一变化是 HSM 支持,因此除非您需要 HSM 支持,否则我建议不要升级到 0.16.4 或 0.16.5。

最新更新