2.03 hyperledger fabric系統架構

尹成發表於2018-12-10

1.系統架構
在這裡插入圖片描述

  • API:提供了GRPC呼叫,GRPC是跨語言的RPC框架
  • SDK:在API基礎上,提供了SDK,封裝了各種語言,例如Go、node.js、python和Java等,官方推薦node.js
  • 事件:區塊鏈是分散式系統,各個節點達成一致需要消耗很長時間,fabric使用非同步通訊模式開發,觸發回撥函式執行
  • 身份:任何一個請求都要通過簽名驗證,依託於底層的成員服務,是聯盟鏈的認證功能,例如CA
  • 賬本:是對區塊鏈的查詢,例如按照區塊高度查詢,根據區塊雜湊查詢,可以根據交易ID查詢區塊,交易ID也是不重複的,還可以根據通道名稱,獲取整個賬本的資訊,在fabric中,賬本是根據通道進行隔離的,不僅僅體現在邏輯上,在物理層面也是分割的
  • 交易:是對區塊鏈資料的修改,例如上層程式通過交易管理模組,將交易提交到交易背書節點,獲得交易背書後,將交易提供給雜湊節點,進行排序,排序後打造成區塊,進行分發,然後將交易分發到整個網路
  • 智慧合約:做智慧合約的安裝、初始化和升級等操作,智慧合約可以理解為函式宣告,交易可以理解為函式呼叫

2.網路拓撲
在這裡插入圖片描述

  • 註冊登記:向CA機構表明自己的身份,獲取證照,此圖CA在區塊鏈以外,是第三方的CA,也可以使用官方提供的CA
  • 交易提案:向兩個組織的背書節點傳送交易提案請求,組織1和組織2分別對應了一組peer節點,可以認為是現實生活中的兩個商業主體,組織1中有4個peer節點,組織2中有3個peer節點,主節點用於從orderer節點接收區塊,通過gossip協議進行區塊擴散,兩個組織是獨立的,共同的資料來源是排序節點
  • 提交交易:排序節點從客戶端節點接收交易,在排序節點內部排序後打包成區塊,廣播給其他組織的主節點
  • 像一個樹形拓撲,最上面是kafka,然後是每個組織的主節點,最後是記賬節點

3.交易流程
在這裡插入圖片描述
在這裡插入圖片描述

學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928

[清華團隊帶你實戰區塊鏈開發]
(https://ke.qq.com/course/344443?tuin=3d17195d)
掃碼獲取海量視訊及原始碼 QQ群:
721929980
在這裡插入圖片描述

相關文章