Hyperledger Composer:机器重启后 fabric-ca 请求注册失败并出现错误

Hyperledger Composer: fabric-ca request register failed with errors after machine restart

我在主机上有一个 composer-rest-server 运行。由于某种原因,我不得不重新启动我的 aws 实例。所以我停止了除链代码之外的所有 fabric docker 容器,还停止了 composer rest 服务器。

重启机器后,我重启了所有的容器。这个时候chaincode容器没有启动。但是,我使用管理员身份卡发出了 ping 命令,链码容器也启动了。

接下来,我以相同的管理员身份重新启动了 composer rest 服务器。但是,当我尝试为参与者发出 "identitiy request" 命令时,结果是:

Unhandled error for request POST /api/system/identities/issue: Error: fabric-ca request register failed with errors [[{"code":20,"message":"Authorization failure"}]]

这是否意味着系统重启后旧的管理员身份将失效?

当您尝试发布新身份,同时使用无权这样做的身份时,通常会出现此错误。

(如果您在单用户模式下,您启动 REST 服务器时使用的卡没有权限,或者如果在多用户模式下,钱包中当前使用的卡没有权限。)

最初为管理网络而创建的网络管理员卡有权发布新身份,如果你想创建额外的身份(卡),你需要在以下时间授予他们 issuer 权利你创造它们。这是您在颁发身份时使用的选项。在 CLI 上,您将使用诸如 composer identity issue -c admin@my-network --issuer -u mynewuser ...

之类的命令

在 REST 服务器上,您可以在 JSON 数据中包含一个选项,例如:

{
"participant" : "org.acme.mynetwork.Manager#MGR02",
"userID" : "BrianM",
"options": {"issuer":true}
}

这是因为当 AWS 实例重启时,fabric-ca 容器中的身份数据被清除(容器使用 sqlite 作为临时数据存储)。

如果您将 fabric-ca 容器设置为使用 mysql 或 postgresql 数据库容器,您将能够在 machine/container 重新启动后保留身份数据。

这个问题也和你的情况有关