章节目录
1.hyperledger-fabric 介绍和资料整理
2.服务环境准备
3.安装fabric 二进制源码程序
4.生成fabric身份信息文件(证书)
5.生成系统通道初始区块文件
6.启动配置网络节点 docker-compose启动文件
7.将组织加入通道
8.安装合约
configtx.yaml 详解
crypto-config.yaml配置详解
1.配置排序、组织节点信息
配置文件:crypto-config.yaml
路径:/home/hyperledgerFabric/qkl_01/config/crypto-config.yaml
注意:此config文件夹是通过fabric拉取二进制文件创建的,请参考《3.安装fabric 二进制源码程序》内容。
配置文件详解,请参考《crypto-config.yaml配置详解》章节
crypto-config.yaml配置信息如下:
### config/crypto-config.yaml
# ---------------------------------------------------------------------------
# "OrdererOrgs" - Definition of organizations managing orderer nodes
# ---------------------------------------------------------------------------
OrdererOrgs:
# ---------------------------------------------------------------------------
# Orderer 排序节点 域名
# ---------------------------------------------------------------------------
- Name: Orderer
Domain: ymh.com
EnableNodeOUs: true
# ---------------------------------------------------------------------------
# "Specs" - See PeerOrgs below for complete description 启动2个排序节点
# ---------------------------------------------------------------------------
Specs:
- Hostname: orderer0
- Hostname: orderer1
# ---------------------------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes peer 组织配置 ;
# Template: Count: 1 代表一个组织下一个peer节点用户
# Users: Count: 1 代表一个peer节点下一个用户
# ---------------------------------------------------------------------------
PeerOrgs:
# ---------------------------------------------------------------------------
# Org1 组织1
# ---------------------------------------------------------------------------
- Name: Org1
Domain: org1.shineyue.com
EnableNodeOUs: true
Template:
Count: 1
Users:
Count: 1
# ---------------------------------------------------------------------------
# Org2: See "Org1" for full specification
# ---------------------------------------------------------------------------
- Name: Org2
Domain: org2.shineyue.com
EnableNodeOUs: true
Template:
Count: 1
Users:
Count: 1
2.生成证书
2.1设置环境变量
export PATH=/home/hyperledgerFabric/qkl_01/bin:$PATH
export FABRIC_CFG_PATH=/home/hyperledgerFabric/qkl_01/config/
2.2生成证书文件
(检查路径是否正确,路径为安装目录)
cryptogen命令参数:–config 为rypto-config.yaml文件路径
–output 为生成后输出保存路径
cryptogen generate --config=/home/hyperledgerFabric/qkl_01/config/crypto-config.yaml --output /home/hyperledgerFabric/qkl_01/crypto-config
更新证书文件 (检查路径是否正确)
cryptogen extend --config=/home/hyperledgerFabric/qkl_01/crypto-config.yaml --input /home/hyperledgerFabric/qkl_01/crypto-config
生成后的目录:
### /home/hyperledgerFabric/qkl_01/crypto-config
tree
├── ordererOrganizations
│ └── ymh.com
│ ├── ca
│ │ ├── ca.ymh.com-cert.pem
│ │ └── priv_sk
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ └── tlscacerts
│ │ └── tlsca.ymh.com-cert.pem
│ ├── orderers
│ │ ├── orderer0.ymh.com
│ │ │ ├── msp
│ │ │ │ ├── admincerts
│ │ │ │ ├── cacerts
│ │ │ │ │ └── ca.ymh.com-cert.pem
│ │ │ │ ├── config.yaml
│ │ │ │ ├── keystore
│ │ │ │ │ └── priv_sk
│ │ │ │ ├── signcerts
│ │ │ │ │ └── orderer0.ymh.com-cert.pem
│ │ │ │ └── tlscacerts
│ │ │ │ └── tlsca.ymh.com-cert.pem
│ │ │ └── tls
│ │ │ ├── ca.crt
│ │ │ ├── server.crt
│ │ │ └── server.key
│ │ └── orderer1.ymh.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ ├── cacerts
│ │ │ │ └── ca.ymh.com-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore
│ │ │ │ └── priv_sk
│ │ │ ├── signcerts
│ │ │ │ └── orderer1.ymh.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.ymh.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── server.crt
│ │ └── server.key
│ ├── tlsca
│ │ ├── priv_sk
│ │ └── tlsca.ymh.com-cert.pem
│ └── users
│ └── Admin@ymh.com
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── priv_sk
│ │ ├── signcerts
│ │ │ └── Admin@ymh.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.ymh.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── peerOrganizations
├── org1.ymh.com
│ ├── ca
│ │ ├── ca.org1.ymh.com-cert.pem
│ │ └── priv_sk
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.org1.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ └── tlscacerts
│ │ └── tlsca.org1.ymh.com-cert.pem
│ ├── peers
│ │ └── peer0.org1.ymh.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ ├── cacerts
│ │ │ │ └── ca.org1.ymh.com-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore
│ │ │ │ └── priv_sk
│ │ │ ├── signcerts
│ │ │ │ └── peer0.org1.ymh.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.org1.ymh.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── server.crt
│ │ └── server.key
│ ├── tlsca
│ │ ├── priv_sk
│ │ └── tlsca.org1.ymh.com-cert.pem
│ └── users
│ ├── Admin@org1.ymh.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ ├── cacerts
│ │ │ │ └── ca.org1.ymh.com-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore
│ │ │ │ └── priv_sk
│ │ │ ├── signcerts
│ │ │ │ └── Admin@org1.ymh.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.org1.ymh.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── client.crt
│ │ └── client.key
│ └── User1@org1.ymh.com
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.org1.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── priv_sk
│ │ ├── signcerts
│ │ │ └── User1@org1.ymh.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org1.ymh.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── org2.ymh.com
├── ca
│ ├── ca.org2.ymh.com-cert.pem
│ └── priv_sk
├── msp
│ ├── admincerts
│ ├── cacerts
│ │ └── ca.org2.ymh.com-cert.pem
│ ├── config.yaml
│ └── tlscacerts
│ └── tlsca.org2.ymh.com-cert.pem
├── peers
│ └── peer0.org2.ymh.com
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.org2.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── priv_sk
│ │ ├── signcerts
│ │ │ └── peer0.org2.ymh.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org2.ymh.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── server.crt
│ └── server.key
├── tlsca
│ ├── priv_sk
│ └── tlsca.org2.ymh.com-cert.pem
└── users
├── Admin@org2.ymh.com
│ ├── msp
│ │ ├── admincerts
│ │ ├── cacerts
│ │ │ └── ca.org2.ymh.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── priv_sk
│ │ ├── signcerts
│ │ │ └── Admin@org2.ymh.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org2.ymh.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── User1@org2.ymh.com
├── msp
│ ├── admincerts
│ ├── cacerts
│ │ └── ca.org2.ymh.com-cert.pem
│ ├── config.yaml
│ ├── keystore
│ │ └── priv_sk
│ ├── signcerts
│ │ └── User1@org2.ymh.com-cert.pem
│ └── tlscacerts
│ └── tlsca.org2.ymh.com-cert.pem
└── tls
├── ca.crt
├── client.crt
└── client.key