上面提到了peer模块和orderer模块式Fabric中最重要的模块,到底有多重要我们下面来简单描述下:
我简单叙述下Fabric模块的一个流程(新手,后面逐渐理解,逐渐修改)
cryptogen:你需要定义组织结构、节点结构,然后根据你所定义的结构生成相应的证书
在上面一个步骤你只是知道了有几个Orderer的组织,有几个Peer组织,你并不知道Orderer的组织下有几个Orderer
configtxgen:你需要定义系统的整体配置:比如Orderer组织的配置信息、组织下各个Orderer的标志符、组织下各个Orderer的具体信息、channel的配置信息、orderer节点相关信息,然后你根据这些配置信息生成初始区块、和初始区块对应的Channel(Fabric 中的账本)
Orderer和Peer模块启动
orderer模块负责对不同客户端发出的请求进行排序和打包(Solo,Kafka)
- 客户端向Orderer模块发送交易
- Orderer节点对交易进行检查,如果符合条件,则将交易发送到排序队列(Solo-本地-Kafka-Kafka)
- Orderer节点从消息队列中取出交易进行打包,打包之后会将相关的消息存储到本地存储中
- Orderer节点根据客户端代码请求,将区块链发送到客户端
Peer模块的组织中有四个角色
- Committer Peer:负责维护区块链的账本结构,从Orderer节点获取包含交易的区块,对区块链进行校验之后,会把这些区块加入区块链中
- Endorse Peer:负责对交易进行校验
- Leader Peer:代表Peer组织从Orderer获取区块信息
- Anchor Peer:Peer组织与Peer组织进行交换