Hyperledger Fabric 使用 cryptogen 工具定义网络

写在前面的话

首先你必须已经搭建好了你的fabric环境,且成功运行起来了first-network
参考:
Ubuntu搭建 Hyperledger Fabric
Ubuntu 搭建 Hyperledger Fabric2.0 极简版

cryptogen是干嘛的

cryptogen是bin目录下的工具之一。参考byfn.sh文件我们可以发现他主要执行了一行命令:
cryptogen generate --config=./crypto-config.yaml
打开crypto-config.yaml文件,内容如下(汉化删减了一些东西):
一个fabric 网络可以有多个排序组织 OrdererOrgs,一个排序组织有一个域名,可以有多个排序用的节点(主机),有一个管理员。
一个fabric网络可以有多个记账组织 PeerOrgs,一个记账组织可以有一个域名,可以有多个记账的节点(主机),除了一个管理员外,还可以有多个普通用户。

# ---------------------------------------------------------------------------
# "OrdererOrgs" - 定义fabric的排序管理节点
# ---------------------------------------------------------------------------
OrdererOrgs:   
  - Name: Orderer
    Domain: example.com  # 一个管理排序的组织
    Specs:   #同一个组织域名下创建了五个节点
      - Hostname: orderer
      - Hostname: orderer2
      - Hostname: orderer3
      - Hostname: orderer4
      - Hostname: orderer5

# ---------------------------------------------------------------------------
# "PeerOrgs" - 定义组织管理的子节点
# ---------------------------------------------------------------------------
PeerOrgs:
  # ---------------------------------------------------------------------------
  # Org1 子节点1
  # ---------------------------------------------------------------------------
  - Name: Org1
    Domain: org1.example.com
    EnableNodeOUs: true
    Template:
      Count: 2  # 节点数量
      # Start: 5
      # Hostname: {{.Prefix}}{{.Index}} # 默认
      # Specs: # 同一个记账组织创建2个记账节点 自定义节点hostname
      #   - Hostname: foo 
      #     CommonName: foo27.org5.example.com # 重写
      #   - Hostname: bar    
    Users:
      Count: 1   # 除admin以外的用户数量
  # ---------------------------------------------------------------------------
  # Org2: 子节点2
  # ---------------------------------------------------------------------------
  - Name: Org2
    Domain: org2.example.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 1

最终创建出来的网络长这样:

# /first-network/crypto-config
├── ordererOrganizations # 排序组织
│   └── example.com #组织的域名
│       ├── ca
│       │   ├── ca.example.com-cert.pem  # 公钥
│       │   └── priv_sk  #私钥
│       ├── msp 
│       │   ├── admincerts
│       │   ├── cacerts
│       │   └── tlscacerts
│       ├── orderers # 组织中的排序节点
│       │   ├── orderer2.example.com
│       │   ├── orderer3.example.com
│       │   ├── orderer4.example.com
│       │   ├── orderer5.example.com
│       │   └── orderer.example.com
│       ├── tlsca
│       │   ├── priv_sk
│       │   └── tlsca.example.com-cert.pem
│       └── users # 用户 admin
│           └── Admin@example.com
└── peerOrganizations  #  记账节点组织
    ├── org1.example.com  # 组织1的域名
    │   ├── ca
    │   │   ├── ca.org1.example.com-cert.pem
    │   │   └── priv_sk
    │   ├── msp
    │   │   ├── admincerts
    │   │   ├── cacerts
    │   │   ├── config.yaml
    │   │   └── tlscacerts
    │   ├── peers  # 组织1的两个记账节点
    │   │   ├── peer0.org1.example.com
    │   │   └── peer1.org1.example.com
    │   ├── tlsca
    │   │   ├── priv_sk
    │   │   └── tlsca.org1.example.com-cert.pem
    │   └── users # 组织1的一个管理员和一个普通用户
    │       ├── Admin@org1.example.com
    │       └── User1@org1.example.com
    └── org2.example.com # 组织2的域名
        ├── ca
        │   ├── ca.org2.example.com-cert.pem
        │   └── priv_sk
        ├── msp
        │   ├── admincerts
        │   ├── cacerts
        │   ├── config.yaml
        │   └── tlscacerts
        ├── peers
        │   ├── peer0.org2.example.com
        │   └── peer1.org2.example.com
        ├── tlsca
        │   ├── priv_sk
        │   └── tlsca.org2.example.com-cert.pem
        └── users
            ├── Admin@org2.example.com
            └── User1@org2.example.com

现在可以根据自己的需要设置网络中的排序节点和记账节点了,重新执行命令之前,记得删除文件夹crypto-config/。
rm -rf crypto-config
cryptogen generate --config=./crypto-config.yaml

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值