日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程

發(fā)布時(shí)間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、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)建流程

  • 系統(tǒng)開(kāi)始部署時(shí),會(huì)根據(jù)channel配置文件自動(dòng)生成orderer system channel,這是網(wǎng)絡(luò)中的第一個(gè)channel,channel上的節(jié)點(diǎn)都是Orderer;
  • client發(fā)送createChannel消息結(jié)某個(gè)orderer來(lái)創(chuàng)建一個(gè)channel,order經(jīng)過(guò)多重認(rèn)證后生成一個(gè)配置模板,并將帶有這個(gè)新建channel配置的CONFIG事務(wù)發(fā)送至orderer system channel;
  • client通過(guò)對(duì)orderer輪詢channel是否創(chuàng)建成功,若成功,通過(guò)該channel發(fā)送joinChannel消息邀請(qǐng)相應(yīng)的節(jié)點(diǎn)加入到該channel中;
  • client調(diào)用installChaincode將chaincode源碼存放位置及相關(guān)信息告知channel內(nèi)的所有節(jié)點(diǎn);
  • chainCode實(shí)例化:client通過(guò)channel發(fā)送sendInstantiateProposal消息至備書(shū)節(jié)點(diǎn),通過(guò)channel的備書(shū)策略決定是否通過(guò);
  • client將備書(shū)節(jié)點(diǎn)的簽名封裝在事務(wù)消息中,發(fā)送至orderer,由orderer封裝成block后發(fā)送至其它節(jié)點(diǎn),其它節(jié)點(diǎn)收到收到block后判斷事務(wù)的有效性,若有效則完成實(shí)例化。
  •   (5,6的執(zhí)行和事務(wù)的處理流程完全一樣,將在下一篇里詳細(xì)講述)



    總結(jié)

    以上是生活随笔為你收集整理的区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。