Hands-On Fabric模块
天然灵凡
发表于 2023-1-11 10:45:06
161
0
0
前面我们知道Fabric是由多个模块组成的程序组:( j$ D0 ^6 I- v" R
peerorderercryptogenconfigtxgenconfigtxlator
其中orderer和peer是Fabric的核心模块。下面来说明它们的作用。
" k9 K6 x) P/ A: I* b& I
peer模块; N* x6 `+ ]9 K( f k
一个完整的组织必须具备4类peer服务器节点,即使组织内只有一个peer程序进程,也依然具备这样的4个角色:
提交节点(committer peer)6 A( N2 Z) r3 l" t, a9 U
committer节点负责维护区块链的账本结构,该节点会定期从Orderer节点获取包含交易的区块,在对这些区块链进行合法发行校验后,会把这些区块加入到区块链中。committer节点无法通过配置文件配置,当前客户端或者命令行发起交易请求的时候需要指定相关的committer节点。. E3 O4 Q) c, D
背书节点(endorse peer)) u# d' U$ x. Z; q4 o2 @- |, v
endorse节点主要负责对交易进行校验,当背书节点接受到客户端发送的交易请求之后,会对交易的合法性进行校验,校验成功之后会讲结果反馈给客户端。endorse节点也是无法通过配置文件配置,需要发起交易的客户端指定。
( K/ l' t1 r$ \3 g4 [
主节点(leader peer)
leader节点负责代表组织从Orderer节点中获取区块信息。可以通过core.yaml文件指定:自主选举和强制制定。
) u3 h; r9 E" p0 X
锚节点(anchor peer)& t; e' R& K; `5 d% I
anchor节点主要负责代表组织和其他组织进行信息交换,锚节点非常重要,如果出现问题会和其他组织失去联系。可以通过configtx.yaml文件配置。
" M/ i. }: ~8 g$ J
+ \6 X& {+ g+ _
其中,主节点和锚节点在每个组织内部只能存在一个。! o/ k. {4 l% H( i
orderer模块
orderer节点负责对不同客户端发送的交易进行排序和打包,,包含Solo模式或者Kafka模式。
Fabric数据安全传输的方式
为了保证数据传输的安全性,Fabric提供了TLS(Transport Layer Security)。
TLS并不是Fabric中的必选项,可以通过相关的配置激活或者关闭。在peer模块和orderer模块都具有TLS的相关配置。
成为第一个吐槽的人