Hyperledger Fabric基础知识
文章目錄
- 什么是Hyperledger Fabric?
- Hyperledger架構是怎么工作的?
- Hyperledger交易如何執行
- 總結
Hyperledger Fabric基礎知識
本文我們會介紹Hyperledger Fabric的基礎知識,并了解如何充分利用這個多功能的區塊鏈框架。
區塊鏈技術為創新提供了豐富的機會。它提供了一種新的交易方式,從而可以從根本上改變業務的實現。
那么,在眾多的區塊鏈框架中,開發人員應該首先掌握哪個框架呢?IBM開發的Hyperledger Fabric肯定是最佳選擇,尤其在今天這個公鏈應用不明朗的情況下,使用Fabric開發聯盟鏈應該是最常見也最實用的框架了。
Hyperledger是一種開源協作成果,旨在促進跨行業的區塊鏈技術供企業使用。該全球合作由The Linux Foundation主持。
Hyperledger孵化并支持一系列區塊鏈業務技術,框架,庫和應用程序。 Hyperledger項目托管了多個區塊鏈框架,包括Hyperledger Fabric。本文概述了什么是Hyperledger Fabric,如何使用它來構建解決方案以及如何在Hyperledger Fabric中執行事務。
什么是Hyperledger Fabric?
Hyperledger Fabric是用于私有鏈和聯盟鏈業務網絡的開源框架實現,其中成員身份和角色對于其他成員是已知的。它是一種模塊化的架構。它允許賬本數據庫,共識機制和成員資格服務等組件即插即用。它使用了容器技術,從而提供了企業級的網絡安全性,可伸縮性和機密性。
Hyperledger Fabric網絡具有以下組件:
-
Assets。資產是任何有價值的東西。資產具有狀態和所有權。資產在Hyperledger Fabric中表示為鍵值對的集合。
-
Shared ledger。共享賬本記錄資產的狀態和所有權。共享賬本包括兩個部分:
- world state描述了給定時間點的共享賬本狀態。這是共享賬本的數據庫。
- blockchain是記錄所有交易的交易日志歷史記錄。
-
Smart contract。 Hyperledger Fabric智能合約稱為chaincode。 Chaincode是定義資產和相關交易的軟件;換句話說,它包含系統的業務邏輯。當應用程序需要與共享賬本交互時,將調用Chaincode。鏈碼可以用Golang或Node.js編寫。
-
Peer nodes。Peer是網絡的基本元素,因為它們托管共享賬本和智能合約。Peer執行鏈碼,訪問共享賬本數據,認可交易并與應用程序對接。Peer可以是endorsing peers,也可以是endorsers。每個鏈碼都可以指定背書策略,該政策定義了有效交易背書的必要條件和充分條件。
-
Channel。通道是由peers集合形成的邏輯結構。此功能允許一組peers創建單獨的交易共享賬本。
-
Organizations。 Hyperledger Fabric網絡是由網絡中不同組織擁有和貢獻的peers構建的。該網絡之所以存在是因為組織將其個人資源貢獻給了集體網絡。peers具有成員資格服務提供商從其所屬組織分配的身份(數字證書)。不同組織的Peers可以在同一channel上。
-
Membership Services Provider (MSP)。 MSP是證書頒發機構,以管理用于認證成員身份和角色的證書。在Hyperledger Fabric網絡中,所有的節點必須要有認證過的身份才能進行交易。MSP管理用戶ID并驗證網絡上的所有參與者,從而使Hyperledger Fabric成為一個私有的和準入的網絡。
-
Ordering service。Ordering service將交易打包成塊,以交付給通道上的peers。它保證了網絡中的交易順利執行。它與peers和endorsing peers進行通信。Ordering service目前只支持Solo和Kafka。
下圖是Hyperledger Fabric的組件和構成:
Hyperledger架構是怎么工作的?
在Hyperledger解決方案中,Hyperledger Fabric網絡充當后端,而應用程序前端則與網絡進行通信。 SDK可幫助您在前端和后端之間建立通信,例如Node.js SDK和Java SDK。 SDK提供了一種執行用戶鏈碼,在網絡中執行事務,監視事件等的方法。
要編寫區塊鏈應用程序,您需要:
Hyperledger交易如何執行
Hyperledger Fabric網絡中事務的請求流如下所示:
總結
Hyperledger Fabric是一個區塊鏈框架實現。 你可以很輕松的使用Hyperledger來構建一個私人或聯盟網絡,并為其編寫智能合約。
當然Hyperledger相對其他的區塊鏈框架而言還是比較復雜的,因為它是專為企業級應用而生的。后面我們會詳細講解。
更多精彩內容且看:
- 區塊鏈從入門到放棄系列教程-涵蓋密碼學,超級賬本,以太坊,Libra,比特幣等持續更新
- Spring Boot 2.X系列教程:七天從無到有掌握Spring Boot-持續更新
- Spring 5.X系列教程:滿足你對Spring5的一切想象-持續更新
- java程序員從小工到專家成神之路(2020版)-持續更新中,附詳細文章教程
更多教程請參考 flydean的博客
總結
以上是生活随笔為你收集整理的Hyperledger Fabric基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scala教程之:Enumeration
- 下一篇: Scala教程之:PartialFunc