1. 程式人生 > >03.Fabric應用開發流程和Fabric業務網路

03.Fabric應用開發流程和Fabric業務網路

陳述

主要講Fabric應用開發流程和Fabric業務網路。

Fabric 應用開發流程

11

Fabric 業務網路

業務網路,也叫共識網路或區塊鏈網路,由不同的節點構成。節點是區塊鏈的通訊實體,節點是一個邏輯概念,不同型別的節點可以執行在同一臺物理伺服器上。這些節點可能部署在雲上面或者本地。可能來自不同的公司或者組織。在區塊鏈網路中有兩種型別的節點:Peer節點和Orderer節點。

Peer節點

chaincode部署在Peer節點上,它對賬本進行讀寫操作。一個Peer節點可以充當多種角色,如背書者endorser, 提交者committer。一個區塊鏈網路中會有多個Peer節點。

Orderer節點

對交易進行排序,批量打包,生成區塊,發給Peer節點。一個區塊鏈網路中會有多個Orderer節點,它們共同提供排序服務。排序服務可以別實現為多種不同的方式,從一箇中心化的服務(被用於開發和測試,如Solo),到分散式協議(如Kafka)。
排序服務提供了通向客戶端和Peer節點的共享通訊通道。提供了包含交易的訊息廣播服務(broadcast和deliver)。客戶端可以通過這個通道向所有的節點廣播(broadcast)訊息。通道可以向連線到該通道的節點投遞(deliver)訊息。

排序服務支援多通道,類似於釋出/訂閱訊息系統中的主題topic。客戶端和Peer節點可以連線到一個給點的通道,並通過給定的通道傳送和接收訊息。多通道使得Peer節點可以基於應用訪問控制策略來訂閱任意數量的通道; 也就是說,應用程式在指定Peer節點的子集中架設通道。這些peer組成提交到該通道交易的相關者集合,而且只有這些peer可以接收包含相關交易的區塊,與其他交易完全隔離,實現資料隔離和保密。

此外,peers的子集將這些私有塊提交到不同的賬本上,允許它們保護這些私有交易,與其他peers子集的賬本隔離開來。應用程式根據業務邏輯決定將交易傳送到1個或多個通道。

Channel

Channel在fabric中是一個相當重要的概念,可譯作通道或頻道。對於channel的理解,不妨想象一下電視節目的頻道和“我和你不在一個頻道”這句話。Channel本身存在於orderer結點內部,但需要通過peer結點使用peer channel ...命令進行維護。一個peer結點要想與另一個peer結點發生交易,最基本的前提就是兩個結點必須同時處在同一個Channel中,block賬本與channel也是一對一的關係,即一個channel一個賬本。