Composer v0.16.5错误 - 管理员尚未注册

时间:2018-03-06 11:38:31

标签: docker hyperledger-fabric hyperledger hyperledger-composer

我刚刚更新到作曲家v0.16.5,当我尝试设置我的网络时,我通常会一直收到错误:

  

错误:尝试ping时出错。错误:尝试查询业务时出错   网络。错误:链码错误(状态:500,消息:错误:   当前身份,名称为' admin'和标识符   ' c2610678f95fe3542e71e0728d114ca724d4c255e63fc2d6c4371942317f6608&#39 ;,   尚未注册

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

我尝试删除所有的docker容器,图像,fabric-tools,本地状态,然后从头开始重新开始,但我一直都遇到同样的错误。

从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服务器。它按预期将我返回到我的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并将其设置为我的休息服务器中的默认卡,我可以成功执行GET / system / ping所以它似乎只适用于networkadmin.card?

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

1 个答案:

答案 0 :(得分:1)

您可能正在解决此问题https://github.com/hyperledger/composer/issues/3413

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