区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
一、fabric網(wǎng)絡(luò)結(jié)構(gòu)(暫時(shí)不包括CA)
如上圖所示,在fabric網(wǎng)絡(luò)中,O表示Orderer,P代表Peer,EP代表Endorsing Peer(endorser),CC代表Chaincode以及Client、Channel、Ledger、Transaction,由它們組成了整個(gè)網(wǎng)絡(luò),下面對(duì)每種元素進(jìn)行介紹:
Client:安裝在節(jié)點(diǎn)(Peer)處的客戶端,可以發(fā)起構(gòu)建channel的請(qǐng)求,也可以創(chuàng)建和發(fā)起事務(wù)(transaction);它不能直接操作chaincode,必須通過(guò)peer。
Peer:從orderer處獲取區(qū)塊用于維護(hù)當(dāng)前狀態(tài)以及存儲(chǔ)在本地的帳本(ledger)。
Transaction:部署事務(wù)(Deploy Transaction)用于生成新的chaincode;喚醒事務(wù)(Invoke Transaction)用于通過(guò)chaincode執(zhí)行一次操作。
Endorsing Peer:一種特殊的節(jié)點(diǎn),在channel內(nèi)部署chaincode的時(shí)候需定義好備書(shū)節(jié)點(diǎn)列表;在Client發(fā)起事務(wù)時(shí),在備書(shū)節(jié)點(diǎn)上模擬該事務(wù)的執(zhí)行并返回響應(yīng)。
Orderer:負(fù)責(zé)維護(hù)網(wǎng)絡(luò)中的多個(gè)channgel;負(fù)責(zé)接收Client通過(guò)備書(shū)策略后的事務(wù)消息,將事務(wù)進(jìn)行排序放入block中,再傳遞給該channel中的所有peer。
Channel:在網(wǎng)絡(luò)中的若干個(gè)節(jié)點(diǎn)中組成的子網(wǎng),用于隔絕子網(wǎng)與其它節(jié)點(diǎn)間的通信和信息共享,Peer可以屬于不同的channel。
Orderer System Channel:是網(wǎng)絡(luò)中創(chuàng)建的第一個(gè)channel,channel能有多個(gè),但Orderer System Channel有且只能有一個(gè),它根據(jù)配置文件創(chuàng)建,對(duì)它具有讀權(quán)限可以看到所有生成的 channel,不推薦在該channel跑任何應(yīng)用。
Chaincode:是運(yùn)行在peer上的一段程序,用于對(duì)當(dāng)前狀態(tài)或帳本進(jìn)行讀寫(xiě)操作。
Ledger:對(duì)channel中所有事務(wù)的執(zhí)行結(jié)果的一個(gè)有序的、防篡改的記錄。
Anchor Peer:屬于多個(gè)channel的節(jié)點(diǎn)。
Leading Peer: channel中負(fù)責(zé)與orderer通信的節(jié)點(diǎn)。
二、網(wǎng)絡(luò)的構(gòu)建流程
(5,6的執(zhí)行和事務(wù)的處理流程完全一樣,將在下一篇里詳細(xì)講述)
總結(jié)
以上是生活随笔為你收集整理的区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hyperledger Fabric 1
- 下一篇: 区块链基础知识系列第5课 Hyperle