我想先解释一下我理解的正确,如果我是对的,请告诉我真相,如果我错了,请告诉我我错了。我的解释是关于 super 账本网络和节点 sdk 如何协同工作以及节点 sdk 如何连接到 super 账本网络。
开始吧。当我启动 super 账本网络时,它所做的是在端口 7054 上创建fabric-ca-server docker 镜像和容器。在该端口上,它注册了一个用户“admin,密码为:”adminpwd。这意味着也已经制作了证书对于这个用户。现在假设我想从节点 sdk 创建一个新用户。我想我需要做的是拥有 Admin 的证书,以便我可以签署我的请求,并且网络知道我是管理员并且是网络。代码的作用是首先写入 getUserContext("admin"),如果找不到,则尝试使用用户名和密码(admin 和 adminpwd)进行注册。我的理解是 getUserContext 转到 hfc-key -store 文件夹并尝试为 admin 查找证书。如果没有找到,则会发生注册,然后发生 createUser 函数,它将从fabric-ca-server docker 镜像派生的证书放入 hfc-key-store,以便当管理员再次尝试注册时,它不必转到fabric-ca-server docker 图片。到目前为止我是对的吗?我现在问我的问题。
问题:
最佳答案
那里似乎有很多问题。让我一步一步地解释它。如果有什么不妥或不清楚的地方,请发表您的意见。
Fabric 设计为 Consortium Blockchain System
广泛应用于企业业务场景。在 Fabric 业务网络中,每个组织通常至少包含一个对等方,以及可选的一个 ca。
想想这样的业务场景。几家公司想一起做生意。然而,他们还不够信任对方。所以他们决定使用 Fabric 来解决他们的痛点。假设这个网络包含 3 个公司(orgs),每个公司(org)有一个 peer 和一个 ca。
现在业务网络已经建立。
首先,让我解释一下注册的概念。
enroll the bootstrap user
.在这一步中,fabric-sdk(我稍后会使用sdk)会先生成一个公私钥对,然后生成一个csr( certificate signing request ),最后使用私钥对csr进行签名并发送签名后的csr到fabric-ca服务器。 enroll()
的响应。 . createUser()
接口(interface)来创建一个新的 User 实例。此 User 实例用作访问区块链系统的身份。userA
提交交易,那么你应该拨打 setUserContext(userA)
在进一步背书调用之前。 setUserContext()
的原因fabirc-sdk 的接口(interface)。Note, fabric-ca is optional, you may use any other CA.
关于docker - 证书是如何从 super 账本中 hfc-key-store 中真实的 fabric-ca-server 证书派生出来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52927032/
相关文章:
java - 如何减小我的 java/gradle docker 镜像大小?
ssl - 在 Synology NAS 上使用 Docker 在 GitLab 上启用 SSL
mysql - 如何通过 SSH 连接到 MySQL Docker 容器?
docker - 如何将端口从一个 docker 容器转发到另一个?
docker - Alpine Linux 处理证书的方式与 Busybox 不同吗?
spring - Docker Compose + Spring Boot + Postgres 连
bash - 如何在 ENTRYPOINT 等待 postgres 启动?