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三者之間存在以下結構關系:
topology
channel中包含一個或多個org;org中包含一個或多個peer。
版權所有,轉載請注明出處。