Fabric模块在系统中的作用
前面我们知道Fabric是由多个模块组成的程序组:
其中orderer和peer是Fabric的核心模块。下面来说明它们的作用。
peer模块
一个完整的组织必须具备4类peer服务器节点,即使组织内只有一个peer程序进程,也依然具备这样的4个角色:
-
提交节点(committer peer)
committer节点负责维护区块链的账本结构,该节点会定期从Orderer节点获取包含交易的区块,在对这些区块链进行合法发行校验后,会把这些区块加入到区块链中。committer节点无法通过配置文件配置,当前客户端或者命令行发起交易请求的时候需要指定相关的committer节点。 -
背书节点(endorse peer)
endorse节点主要负责对交易进行校验,当背书节点接受到客户端发送的交易请求之后,会对交易的合法性进行校验,校验成功之后会讲结果反馈给客户端。endorse节点也是无法通过配置文件配置,需要发起交易的客户端指定。 -
主节点(leader peer)
leader节点负责代表组织从Orderer节点中获取区块信息。可以通过core.yaml文件指定:自主选举和强制制定。 -
锚节点(anchor peer)
anchor节点主要负责代表组织和其他组织进行信息交换,锚节点非常重要,如果出现问题会和其他组织失去联系。可以通过configtx.yaml文件配置。
其中,主节点和锚节点在每个组织内部只能存在一个。
orderer模块
orderer节点负责对不同客户端发送的交易进行排序和打包,,包含Solo模式或者Kafka模式。
Fabric数据安全传输的方式
为了保证数据传输的安全性,Fabric提供了TLS(Transport Layer Security)。
TLS并不是Fabric中的必选项,可以通过相关的配置激活或者关闭。在peer模块和orderer模块都具有TLS的相关配置。