本文章所有操作基于的操作系统版本是:ubuntu16.04 64位
上一节中我们成功安装Fabric之后,就可以启动相关模块开始工作了,但是Fabric的配置和启动过程比较繁琐,在后续文章中会介绍详细的模块使用方法,在这之前我们先搭建一个简单的Fabric网络,这个网络虽然简单,但是包含了fabric的核心组成部分。
docker容器可以很方便的部署fabric节点,但是却不能很容易的调式fabric的源代码,如果要深入学习fabric源码,可能要经常进行fabric 源码调式,所以我们在容器外来搭建这个简单的fabric网络。
首先创建一个目录,并切换到该目录下,这个简单的网路所有配置文件放到这个目录下:
mkdir -p ~/fabric-ws/simple-demo/
cd ~/fabric-ws/simple-demo
1.生成证书文件
创建一个名为crypto-config.yaml的配置文件,内容如下:
OrdererOrgs:
- Name: Orderer
Domain: simple-network.com
Specs:
- Hostname: orderer
PeerOrgs:
- Name: Org1
Domain: org1.simple-network.com
Template:
Count: 2
Users:
Count: 2
- Name: Org2
Domain: org2.simple-network.com
Template:
Count: 2
Users:
Count: 2
生成证书
cryptogen generate --config=crypto-config.yaml --output ./crypto-config
修改端口映射文件:
sudo vi /etc/host
追加如下内容:
127.0.0.1 orderer.simple-network.com
127.0.0.1 peer0.org1.simple-network.com
127.0.0.1 peer1.org1.simple-network.com
127.0.0.1 peer0.org2.simple-network.com
127.0.0.1 peer1.org2.simple-network.com
注意 :hosts文件中的127.0.0.1是本机IP,如果是多台机器部署请根据各个机器的IP指定,不要照抄。
测试是否能ping通
ping orderer.simple-network.com
2.生成创世块、通道和锚点文件
首先创建一个order目录,来存放order的相关配置
mkdir -p ~/fabric-ws/simple-demo/order
cd ~/fabric-ws/simple-demo/order
在order目录中创建一个名为configtx.yaml的配置文件,内容如下:
Profiles:
TestTwoOrgsOrdererGenesis:
Orderer:
<<: *OrdererDefaults
Organizations:
- *OrdererOrg
Consortiums:
SampleConsortium:
Organizations:
- *Org1
- *Org2
TestTwoOrgsChannel:
Consortium: SampleConsortium
Application:
<<: *ApplicationDefaults
Organizations:
- *Org1
- *Org2
Organizations:
- &OrdererOrg
Name: OrdererOrg
ID: OrdererMSP
MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/ordererOrganizations/simple-network.com/msp
- &Org1
Name: Org1MSP
ID: Org1MSP
MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org1.simple-network.com/msp
AnchorPeers:
- Host: peer0.org1.simple-network.com
- Port: 7051
- &Org2
Name: Org2MSP
ID: Org2MSP
MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org2.simple-network.com/msp
AnchorPeers:
- Host: peer0.org2.simple-network.com
- Port: 7051
Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
- orderer.simple-network.com:7050
BatchTimeout: 2s
BatchSize: