hyperledger-fabric - 带有 CA 服务器的 Hyperledger Fabric NodeOU 验证引导程序块失败。MSP 管理器失败
问题描述
设置 MSP 管理器失败:未设置 admin ou 分类时必须声明管理员。
CA 服务器似乎很好。我注册并注册了 caadmin、orgadmin、ordereradmin。我用 orgadmin 创建了 genesis.block。orgadmin 在 OU 中有管理员。订购者有 OU=订购者。
它似乎使用了 config.yaml,因为它在加载 ClientOU 证书失败时给出了警告。(根据文档,只是一个警告,不是必需的)。
但即使我设置了 AdminOUIdentifier: # Certificate: "cacerts/cacert.pem" OrganizationalUnitIdentifier: "admin"
并且 OrgAdmin 在主题中有 OU=admin,它出错并说没有设置管理员 ou。
我错过了什么?
解决方案
OU 定义需要像使用config.yaml
文件一样设置。在创建网络之前,您需要为频道中的每个 MSP 定义 OU。然后启动网络,使得本地 MSP(节点的 MSP 配置:peer 和 orderer)也config.yaml
分别在其 MSP 目录中获取此信息。
这样,NodeOU 将在通道中启用,节点的本地 MSP 也将遵循相同的配置。
如果未设置 NodeOU,则在创建节点容器时,在您挂载在相应节点内的 MSP 目录中,必须有一个admincerts
子文件夹,其中包含该组织的 CA 颁发的证书(或至少是该组织的 MSP 的信任链中的有效证书)。
注意:如果admincerts
已配置,即禁用 NodeOU,则 Hyperledger Fabric 网络将仅识别持有admincerts
目录中存在的证书的该组织的身份作为该组织的身份admin
。
推荐阅读
- regex - 逗号分隔的前缀列表,里面有逗号
- python - 如何使用 Selenium 和 Python 抓取和计算星级?
- google-sheets - =Google 表格中的 LEN 函数无法正常工作
- java - Gradle 无法解析 org.springframework.boot:spring-boot-dependencies:
- java - 为什么java中的main方法必须是(String.[]args)?
- machine-learning - 有没有办法测量图像的哪些部分对分类器来说是困难的?
- vue.js - 如何实现可重用的 vuetify 对话框
- sql - 在这个例子中,MSSQL 中的 ORDER BY 是如何工作的?
- yaml - YAML,linting - 语法错误 - 未知转义字符'
- php - 如何提取在obj中作为数组传递的元素,然后是userdata