代码之家  ›  专栏  ›  技术社区  ›  Simon Mullaney

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

  •  0
  • Simon Mullaney  · 技术社区  · 8 年前

    我刚刚更新到composer v0.16.5,当我尝试按正常方式设置网络时,我不断收到一个错误:

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

    这通常意味着管理员凭据是从其他时间存储的,但我似乎无法删除它们。

    我尝试删除所有的docker容器、图像、fabric工具、本地状态,然后从头开始,但我总是遇到同样的错误。

    是否已从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中的环境变量。通过运行以下命令:

    source envvars.txt
    

    为composer rest服务器构建docker映像

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

    setup composer 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。使用命令的卡:

    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'
    

    如果我出口出租人。卡,并将其设置为rest服务器中的默认卡。我可以成功地执行GET/system/ping,因此它似乎只适用于networkadmin。卡片

    是否有人在composer v0.16.5中遇到同样的问题,或者我是否做了一些不正确的事情?

    1 回复  |  直到 8 年前
        1
  •  1
  •   david_k    8 年前

    你可能遇到了这个问题 https://github.com/hyperledger/composer/issues/3413

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