Network整体框架
以该图为例,每个组织都有一个自己的内网,里面包含CA(证书管理)服务器、数据库服务器、peer节点服务器、以及附属在peer节点上的链代码(智能合约)。不同组织间只能通过其中的节点相连来进行通信。具体而言,可通过workspace里的docker文件夹里的docker-compose的.yaml文件来配置。
所有环境启动步骤的源码都封装在workspace下的init.sh脚本中。执行该脚本即可启动环境。下面主要介绍每一步涉及的组件及联系。
1.启动各内网中CA服务器
init.sh中的第一步
进入docker/docker-compose-ca.yaml进行查看,可以发现各内网network中的所有CA服务器配置都在这里面,通过docker compose来统一配置。
2、每个组织、角色的账户注册
init.sh中的第二步
同上一步一样,通过vi命令查看organizations/fabric-ca/registerEnroll.sh中的具体注册方式。
3.生成创世纪块、通道、账本
init.sh中的第三步
创世纪块:即帐本中的第一个区块,需要在此初始化。
通道:通道是部分网络成员(peer)之间拥有独立的通信渠道,在通道中发送的交易只有属于通道的成员才可见,因此通道可以看作是Fabric的网络中部分成员的私有通信“子网”。一般来说一个peer可以加入多个通道。
账本:在同一个通道中的成员共享这一个账本。
可参考下图(from hyperledger的官方文档:https://hyperledger-fabric-zh-cn.readthedocs.io/zh/latest/docs/Functionalities.html)
4.DB初始化设置
暂时还不是很清楚在那个地方执行的
5.Channel初始化设置
在workspace/scripts目录下