Peer
Fabric 网络中的节点,表现为一个运行着的docker容器。可以与网络中的其他peer进行通信,每个peer都在本地保留一份ledger的副本。peer按照扮演的角色可以简单分为以下两种:
- endorsing peer/endorser
安装和执行chaincode等一系列操作都离不开peer,我们通常会说将chaincode安装在某个peer上。它既可以是模拟chaincode执行的endorser也可以是验证背书策略是否满足条件的endorsing peer。
在实例化chaincode时,通过-P
选项指定背书策略,在这里有关于背书策略的更多信息。
注:channel内同一个chaincode可以安装到多个peer上,但只能实例化一次。多次实例化将出错。
- anchor peer
被称为锚节点。作为一个channel
或org
的代表,从orderer获取信息,并且组内广播给其他peer。其他peer可以不直接跟orderer打交道。
可以通过命令peer channel update
来更新anchor peer。
以上对peer只是逻辑上的区分,一个peer可以同时扮演以上多种角色。
Org
一个或多个peer组成org。在文件crypto-config.yaml
中可以设置如下block指定一个org中peer数量。比如,count为2,则该org存在peer0
和 peer1
两个节点。
Template:
Count: 2
Channel
channel指一个在两个或多个特定网络成员间的专门以机密交易为目的而建立的私有"子网"。channel中包含一个或多个org。每个channel拥有一个账本,并共享给channel内的所有peer。同一个channel内的org可以部署到多台机器上。Fabric为channel间数据通信和同步提供了多套解决方案,比如基于zookeeper得kafka等。
Topology
总的来说,peer、org、channel三者之间存在以下结构关系:
channel中包含一个或多个org;org中包含一个或多个peer。
版权所有,转载请注明出处。