该文件位于/usr/local/go/src/github.com/hyperledger/fabric/fabric-samples/first-network/crypto-config.yaml下,以下是原始配置文件:
# ---------------------------------------------------------------------------
# "OrdererOrgs" - 管理orderer节点
# ---------------------------------------------------------------------------
OrdererOrgs:
# ---------------------------------------------------------------------------
# Orderer
# ---------------------------------------------------------------------------
- Name: Orderer # Orderer的名称
Domain: example.com # 域名
# ---------------------------------------------------------------------------
# "Specs" - See PeerOrgs below for complete description
# ---------------------------------------------------------------------------
Specs:
- Hostname: orderer # hostname + Doamin的值组成Orderer节点的完整域名
# ---------------------------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes
# ---------------------------------------------------------------------------
PeerOrgs:
# ---------------------------------------------------------------------------
# Org1
# ---------------------------------------------------------------------------
- Name: Org1
Domain: org1.example.com
EnableNodeOUs: true # 在MSP下生成config.yaml文件
# ---------------------------------------------------------------------------
# "Specs"
# ---------------------------------------------------------------------------
# Uncomment this section to enable the explicit definition of hosts in your
# configuration. Most users will want to use Template, below
#
# Specs is an array of Spec entries. Each Spec entry consists of two fields:
# - Hostname: (Required) The desired hostname, sans the domain.
# - CommonName: (Optional) Specifies the template or explicit override for
# the CN. By default, this is the template:
#
# "{{.Hostname}}.{{.Domain}}"
#
# which obtains its values from the Spec.Hostname and
# Org.Domain, respectively.
# ---------------------------------------------------------------------------
# Specs:
# - Hostname: foo # implicitly "foo.org1.example.com"
# CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
# - Hostname: bar
# - Hostname: baz
# ---------------------------------------------------------------------------
# "Template"
# ---------------------------------------------------------------------------
# Allows for the definition of 1 or more hosts that are created sequentially
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
# You may override the number of nodes (Count), the starting index (Start)
# or the template used to construct the name (Hostname).
#
# Note: Template and Specs are not mutually exclusive. You may define both
# sections and the aggregate nodes will be created for you. Take care with
# name collisions
# ---------------------------------------------------------------------------
Template:
Count: 2
# Start: 5
# Hostname: {{.Prefix}}{{.Index}} # default
# ---------------------------------------------------------------------------
# "Users"
# ---------------------------------------------------------------------------
# Count: The number of user accounts _in addition_ to Admin
# ---------------------------------------------------------------------------
Users:
Count: 1
# ---------------------------------------------------------------------------
# Org2: See "Org1" for full specification
# ---------------------------------------------------------------------------
- Name: Org2
Domain: org2.example.com
EnableNodeOUs: true
Template:
Count: 2
Users:
Count: 1
该示例配置文件指定了 OrdererOrgs 及 PeerOrgs 两个组织信息。 PeerOrgs 配置信息指定创建了 Org1 与 Org2 两个组织。每个 Org 组织使用 Template 属性下的 Count 指定创建了两个 Peer 节点, Users 属性下的 Count 指定了在各个 Peer 节点中创建一个用户。
Peer 节点的域名名称组成结构为“ peer + 起始数字0 + Domain属性的值”。例如,Org1组织中的Domain属性值为 org1.example.com ,Template.Count 属性值为2,则两个 Peer 节点的完整域名为 peer0.org1.example.com 和 peer1.org1.example.com 。
cd ./fabric-sample/first-network # 必须进入该文件
../bin/cryptogen generate --config=./crypto-config.yaml
执行完毕后,当前文件夹下会出现一个新的文件夹:crypto-config,在该目录下就是存放刚刚生成的组织结构与身份证书。