【问题标题】:Hyperledger Composer Identity Issue error after network restart (code:20, authorization failure)网络重启后 Hyperledger Composer Identity Issue 错误(代码:20,授权失败)
【发布时间】:2018-11-27 18:54:06
【问题描述】:

我正在使用 Docker Swarm 和 docker-compose 来设置我的 Fabric (v1.1) 和 Composer (v0.19.18) 网络。 我想测试我的 Swarm/Fabric 网络将如何响应主机/ec2 故障,因此我手动重启了运行 fabric-ca、orderer 和 peer0 容器的主机。

在重新启动之前,就发布身份而言,一切都运行良好。重新启动后,尽管所有 Fabric 容器都重新启动并且似乎运行正常,但我无法使用主 admin@network 卡发出身份。

重启后,composer network ping -c admin@network 成功返回,但composer identity issue(通过 CLI 或 javascript)都返回代码 20 错误,如下所述: "fabric-ca request register failed with errors [[{\"code\":20,\"message\":\"Authorization failure\"}]]"

我猜这个问题是由于主机重启和重启 Fabric 容器的方式有所不同。如有必要,我可以发布我的 docker-compose 文件。

【问题讨论】:

    标签: docker docker-compose hyperledger-fabric hyperledger hyperledger-composer


    【解决方案1】:

    如果您的 fabric-ca-server 已重新启动并且它的注册数据库尚未持久化(例如,数据库存储在容器的文件系统中,并且丢失该容器意味着丢失该文件系统的内容)然后 ca-server 将创建一个名为 admin 的全新引导身份来发布身份,它不会是您已经拥有的身份,因此对于 fabric-ca-server 来说不再是有效身份。请注意,它仍然是结构网络的有效身份。所以这就是你现在从fabric-ca-server 获得授权失败的原因。您的 fabric-ca-server 不再知道您当前拥有的名为 admin 的身份。

    【讨论】:

    • 你完全正确。我将fabric-ca-server切换为使用postgresql容器而不是默认的sqlite db,它按我预期的方式工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多