根据HyperLedger Fabric 2.0-release测试网络部署可知fabric网络启动主要依赖脚本 1.byfn.sh查看byfn.sh找到up模式主要做了什么,如下图可见,执行networkUp这个function来实现fabric网络启动。 接下来进入networkUp详细阅读: 其中在默认条件下启动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>&1 执行结果如下图所示: 两个组织org1、org2的节点 fabric客户端 2.1 排序节点启动orderer.example.com docker logs -f orderer.example.com --tail=300 控制台输出了orderer.example.com的启动日志如下 由于太长我分开几个部分来说 (1)排序节点配置项输出:
从上图来看与日志输出配置匹配,就是yaml里面加了ORDERER_前缀,其余配置的修改也可通过这种方式。详细排序节点配置说明,晚点补充。 (2)加载创始区块,启动排序节点。 1.根据1的配置初始化排序节点 2. 创建本地账本目录 3. 设置排序节点服务监听端口 4. 根据创始区块文件初始化本地账本 5. 启动fabric系统通道 6. 启动raft服务 (3)raft服务启动 以上就是orderer.example.com启动剖析过程。 2.2 节点启动然后我们来看以下peer0.org1.example.com docker logs -f peer0.org1.example.com --tail=300 控制台输出结果如下: 3.docker-compose-etcdraft2.yaml同样的套路,首先打开控制台,输入以下命令: cd first-network docker-compose -f docker-compose-etcdraft2.yaml up -d 2>&1 控制台输出结果如下: 先不看新启动的排序节点,查看原本开始启动的orderer.example.com docker logs --tail=300 -f orderer.example.com 控制台输出结果如下: 接下来我们看一下orderer5.example.com节点的情况 docker logs --tail=300 -f orderer5.example.com 控制台输出: 4.总结上面是对网络启动的脚本以及配置剖析,虽然比较简单,但是主要是展示整个学习的过程,一些比较详细的配置说明还是从官方文档学习比较好,通过上面的学习,也可以看到fabric2.0的一些新特性,主要集中在智能合约以及raft共识,后面将继续往这个方向进行研究。 |
|