我刚刚更新到作曲家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。