根据HyperLedger Fabric 2.0-release测试网络部署可知fabric网络启动主要依赖脚本./byfn.sh up
接下针对这个脚本进行剖析,研究fabric2.0 first-network的启动过程。
1.byfn.sh
查看byfn.sh找到up模式主要做了什么,如下图可见,执行networkUp这个function来实现fabric网络启动。
接下来进入networkUp详细阅读:
networkUp这个function里面核心脚本主要为以上红色框住的部分,分别为:
1. 检查二进制文件是否可用以及对应版本docker镜像是否存在。
2. 假如当前sh所在父目录不存在crypto-config目录就执行生成区块、通道以及证书脚本,详情请查看Fabric2.0 first-network 生成配置说明
3. 使用docker-compose命令启动fabric网络。
4. 加载go合约依赖包
5. 使用cli客户端执行脚本操作其中在默认条件下启动yaml文件包括:
docker-compose-cli.yaml
docker-compose-etcdraft2.yaml
2.docker-compose-cli.yaml
为了看清楚docker-compose-cli.yaml具体启动了什么,我们将文件拆分执行
首先打开控制台,输入以下命令cd first-network
docker-compose -f docker-compose-cli.yaml up -d 2