网络重启后 Hyperledger Composer Identity Issue 错误(代码:20,授权失败)

Hyperledger Composer Identity Issue error after network restart (code:20, authorization failure)

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

在重新启动之前,关于发布身份的一切都运行完美。重新启动后,尽管所有 Fabric 容器都重新启动并且似乎运行正常,但我无法使用主 admin@network 卡发布身份。

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

我猜这个问题是由于主机重新启动以及它重新启动 Fabric 容器的方式有所不同造成的。如果需要,我可以 post 我的 docker-撰写文件。

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