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