Hands-On Fabric模块
天然灵凡
发表于 2023-1-11 10:45:06
162
0
0
前面我们知道Fabric是由多个模块组成的程序组:
peerorderercryptogenconfigtxgenconfigtxlator' ?, A( X7 l4 w+ _
其中orderer和peer是Fabric的核心模块。下面来说明它们的作用。
, |1 @% T3 E# v7 e! R4 h" h, a
peer模块
一个完整的组织必须具备4类peer服务器节点,即使组织内只有一个peer程序进程,也依然具备这样的4个角色:
; v- [- l0 A/ Y* z2 E8 \/ o' n8 a/ i
提交节点(committer peer)8 W* \4 A; @" M
committer节点负责维护区块链的账本结构,该节点会定期从Orderer节点获取包含交易的区块,在对这些区块链进行合法发行校验后,会把这些区块加入到区块链中。committer节点无法通过配置文件配置,当前客户端或者命令行发起交易请求的时候需要指定相关的committer节点。
背书节点(endorse peer); n9 I, H2 ^) f* j7 V6 s( w* ?, m
endorse节点主要负责对交易进行校验,当背书节点接受到客户端发送的交易请求之后,会对交易的合法性进行校验,校验成功之后会讲结果反馈给客户端。endorse节点也是无法通过配置文件配置,需要发起交易的客户端指定。; Z1 ^& o) [8 B. F
0 v0 `: [ _9 \$ x9 j7 v, N5 z& \
主节点(leader peer)
leader节点负责代表组织从Orderer节点中获取区块信息。可以通过core.yaml文件指定:自主选举和强制制定。
& M5 U+ u; s- k+ H
锚节点(anchor peer)0 u. n$ }" m! Y5 B9 [: P
anchor节点主要负责代表组织和其他组织进行信息交换,锚节点非常重要,如果出现问题会和其他组织失去联系。可以通过configtx.yaml文件配置。
3 y1 U1 s# R" Y2 Q8 A& F$ N% P: y4 e* I
2 i# E1 @7 C/ T1 x2 F
其中,主节点和锚节点在每个组织内部只能存在一个。
orderer模块) R8 E+ O* s; v% B
orderer节点负责对不同客户端发送的交易进行排序和打包,,包含Solo模式或者Kafka模式。
Fabric数据安全传输的方式
为了保证数据传输的安全性,Fabric提供了TLS(Transport Layer Security)。
TLS并不是Fabric中的必选项,可以通过相关的配置激活或者关闭。在peer模块和orderer模块都具有TLS的相关配置。
成为第一个吐槽的人