1. 网络节点设置
网络名称:rentnet
联盟组织:orderer排序组织+三个成员组织supervisor、rentalcrop、 agency
通道:rentsign
账本数据库: couchdb
物理节点 | 组织 | 容器节点 |
supervisor | supervisor.freerent.cn | peer0.supervisor.freerent.cn |
peer1.supervisor.freerent.cn | ||
peer2.supervisor.freerent.cn | ||
couchdb0.supervisor.freerent.cn | ||
couchdb1.supervisor.freerent.cn | ||
couchdb2.supervisor.freerent.cn | ||
orderer0.orderer.freerent.cn | ||
rentalcrop | rentalcrop.freerent.cn | peer0.rentalcrop.freerent.cn |
peer1.rentalcrop.freerent.cn | ||
couchdb0.rentalcrop.freerent.cn | ||
couchdb1.rentalcrop.freerent.cn | ||
orderer1.orderer.freerent.cn | ||
agency | agency.freerent.cn | peer0.customer.freerent.cn |
peer1.customer.freerent.cn | ||
couchdb0.agency.freerent.cn | ||
couchdb1.agency.freerent.cn | ||
orderer2.orderer.freerent.cn |
2. 节点身份生成
Fabric网络通过证书和密钥来管理和认证成员身份,Fabric通过Fabric-CA提供了PKI服务。为了方便批量管理组织证书,fabric基于Go语言的标准crypto库提供了cryptogen工具。用了cryprtogen工具生成加密材料,就无需CA来到动态生成加密材料。
cryptogen支持的命令包括:
- generate[flages] 生成密钥和证书文件
- showtemplate,查看配置模板信息
- extend[flages],扩展当前密钥和证书文件
- version,版本信息
flag :
- –config :yaml配置模板文件
- – output:指定材料生成路径,默认为当前目录下的crypto-config目录
2.1 crypto-config.yaml
crypto-config.yaml为节点生成加密材料的配置文件。
存放目录: /home/freerent/network/channel
# ---------------------------------------------------------------------------
# "OrdererOrgs" - 管理排序节点的组织的定义
# ---------------------------------------------------------------------------
OrdererOrgs:
- Name: Orderer # 组织名称
Domain: freerent.cn # 组织命名域
Specs: # 每个主机配置,通用名
- Hostname: orderer0
- Hostname: orderer1
- Hostname: orderer2
# ---------------------------------------------------------------------------
# "PeerOrgs" - 管理对等节点的组织的定义
# ---------------------------------------------------------------------------
PeerOrgs:
- Name: Supervisor
Domain: supervisor.freerent.cn
# 如果设置了 EnableNodeOUs ,就在msp下生成config.yaml文件
EnableNodeOUs: true
Template:
Count: 3 #生成证书的数量 => 组织中peer节点的数目
Users:
Count: 2 #生成用户证书个数
- Name: Rentalcrop
Domain: rentalcrop.freerent.cn
EnableNodeOUs: true
Template:
Count: 2 #生成证书的数量
Users:
Count: 1 #生成用户证书个数
- Name: Agency
Domain: agency.freerent.cn
EnableNodeOUs: true
Template:
Count: 2
Users:
Count: 1
2.2 加密材料生成脚本
将fabric提供三个工具拷贝至bin目录下,并赋777权限。这三个脚本可以到fabric-samples里面去下载,放到bin目录下。
3. 加密材料分析
目录 : /home/freerent/network/channel
默认情况下,generate生成的加密材料在当前目录下的crypto-config目录下,目录结构如下所示。生成了ordererOrganizations和peerOrganizations两个组织树。每棵组织树下面都有ca、tlsca、msp、orderers(或者peers),users等子目录。
以supervisor组织为例,文章来源:https://www.toymoban.com/news/detail-660891.html
peerOrganizations/ #peer组织
├── supervisor.freerent.cn #组织的所有身份证书
│ ├── ca #存放私钥与组织根证书
│ │ ├── ca.supervisor.freerent.cn-cert.pem
│ │ └── priv_sk
│ ├── msp #存放代表组织根证书的身份信息
│ │ ├── admincerts # 组织管理员的身份验证证书,被根证书签名
│ │ ├── cacerts # 组织信任的CA根证书,同ca目录下文件
│ │ │ └── ca.supervisor.freerent.cn-cert.pem
│ │ ├── config.yaml # 指定是否开启OU,存放组织根证书路径和OU识别关键字
│ │ └── tlscacerts # 用于TLS验证的信任的CA证书,自签名
│ │ └── tlsca.supervisor.freerent.cn-cert.pem
│ │
│ ├── peers #peers目录与order组织的orderers目录类似
│ │ ├── peer0.supervisor.freerent.cn
│ │ │ ├── msp # 存放代表身份的相关证书和私钥文件
│ │ │ │ ├── admincerts # 该Peer认可的管理员身份证书。可以确认交易是否被管理员签署,默认是Admin用户的身份证书
│ │ │ │ ├── cacerts # 存放组织的CA根证书
│ │ │ │ │ └── ca.supervisor.freerent.cn.pem
│ │ │ │ ├── config.yaml
│ │ │ │ ├── keystore # 节点的身份私钥,用来签名
│ │ │ │ │ └── priv_sk
│ │ │ │ ├── signcerts # 验证本节点签名的证书,被组织根证书签名,
│ │ │ │ │ └── peer0.supervisor.freerent.cn.pem
│ │ │ │ └── tlscacerts # TLS连接用的CA证书
│ │ │ │ └── tlsca.supervisor.freerent.cn.pem
│ │ │ └── tls
│ │ │ ├── ca.crt # 组织的TLS CA证书
│ │ │ ├── server.crt # 验证本钱点签名的证书,被组织根证书签名
│ │ │ └── server.key # 本节点TLS私钥,用来签名
│ │ └── peer1.supervisor.freerent.cn # 一样
│ │
│ │ └── peer2.supervisor.freerent.cn # 一样
│ │
│ ├── tlsca #存放该组织的TLS证书和对应的私钥 和msp中一样
│ │ ├── priv_sk
│ │ └── tlsca.supervisor.freerent.cn-cert.pem
│ │
│ └── users # 该组织的用户的实体
│ ├── Admin@supervisor.freerent.cn # 管理员
│ │ ├── msp # 存放代表身份的相关证书和私钥文件
│ │ │ ├── admincerts #Admin用户的管理身份证书,被组织根证书签名
│ │ │ ├── cacerts # 组织根证书
│ │ │ │ └── ca.supervisor.freerent.cn-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore # 用户签名私钥
│ │ │ │ └── priv_sk
│ │ │ ├── signcerts # 管理员身份验证证书,若被peer认可,则会存放到peer的msp/admincerts目录下
│ │ │ │ └── Admin@supervisor.freerent.cn-cert.pem
│ │ │ └── tlscacerts # 验证TLS连接用的CA证书,即组织的TLS CA证书
│ │ │ └── tlsca.supervisor.freerent.cn.pem
│ │ └── tls
│ │ ├── ca.crt # 组织的TLS CA证书
│ │ ├── client.crt # 管理员用户的身份验证证书,被组织根证书签名
│ │ └── client.key # 管理员用户的私钥,用来签名
│ └── User1@supervisor.freerent.cn # admin类似
│
说明:
1、crypto-config.yaml一般默认一个组织仅一个admin,因此在一个组织内部,所有的admincerts是一样的,admin的私钥在Users的Admin文件夹下;
2、在一个组织内部,所有的cacerts是一样的,ca的私钥在ca文件夹下;
3、在一个组织内部,所有的tlscerts是一样的,且和tls文件夹下的ca.cert一样,tlsca的私钥在tlsca文件夹下。文章来源地址https://www.toymoban.com/news/detail-660891.html
到了这里,关于Hyperledger Fabric 应用实战(2)--网络节点设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!