Fabric01-2

準(zhǔn)備工作

  1. 官方幫助文檔:https://hyperledger-fabric.readthedocs.io/en/release-1.2/
  2. 安裝 cURL(https://curl.haxx.se/download.html),curl --version 查詢版本
  3. 安裝docker怒竿,docker --version 查詢版本
  4. 安裝docker-compose,docker-compose --version 查詢版本
  5. 安裝 go 語言環(huán)境揖膜,go version 查詢版本
  6. 安裝node.js, node -v 查詢版本
  7. Python 版本要求為 2.7,python --version 查詢版本

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh | bash -s 1.4.1 1.4.1 0.4.15

1.JPG
# fabric-peer :存儲賬本
# fabric-orderer :排序結(jié)點(diǎn),沒有礦工,不用挖礦,相當(dāng)于礦工
# fabric-ccenv :go的運(yùn)行環(huán)境,智能合約(鏈碼)支持go語言編程
# fabric-tools :工具節(jié)點(diǎn),作為客戶端使用
# fabric-ca :注冊賬號
# fabric-couchdb : 數(shù)據(jù)庫,key-value
# fabric-kafka :排序服務(wù)器
# fabric-zookeeper :kafka工作的時(shí)候需要zookeeper 協(xié)助

設(shè)置fabric中的可執(zhí)行程序全局訪問

/home/itcast
ls -a
vi .bashrc
最后一行寫:export PATH=/home/itcast/hyperledger-fabric/fabric-samples/bin:$PATH
. .bashrc //生效

測試網(wǎng)絡(luò)演示

cd /home/itcast/hyperledger-fabric/fabric-samples/first-network
./byfn.sh generate
./byfn.sh up
./byfn.sh down

一:Hyperledger Fabric基本概念

1.Hyperledger簡介

Hyperledger項(xiàng)目,Linux基金會托管,IBM牽頭做的,Hyperledger里有很多模塊,其中最大的,最重要最核心的模塊Fabric,其他模塊都是為Fabric服務(wù)的.

2.Hyperledger Fabric是什么

Hyperledger Fabric是一個(gè)框架,私有網(wǎng)絡(luò)(不發(fā)幣),里面有一個(gè)賬本,賬本的操作需要使用智能合約,Hyperledger Fabric是參與者管理交易的系統(tǒng).比如:淘寶買東西,也是交易,但是有中心服務(wù)器,Fabric可以替換,并且去掉中心服務(wù)器.不會出錯,效率更高了.Fabric支持溯源.

3.特點(diǎn)

Hyperledger Fabric與其他區(qū)塊鏈系統(tǒng)不同的地方是私有和許可庄撮。
(1)私有:Fabric中所有的數(shù)據(jù)都是受保護(hù)的,私有的,私有網(wǎng)絡(luò),想看數(shù)據(jù),必須加入到小的網(wǎng)絡(luò)中去,Hyperledger Fabric支持隱私, 提供了創(chuàng)建通道的功能,允許一組參與者中部分成員創(chuàng)建單獨(dú)的交易賬本。

(2)許可:通過正規(guī)的渠道申請,得到賬號,賬號是數(shù)字證書(CA證書),能夠保證網(wǎng)絡(luò)中數(shù)據(jù)安全性.任意一筆交易都需要簽名,非對稱加密,私鑰簽名,別人用公鑰驗(yàn)證,Hyperledger Fabric網(wǎng)絡(luò)的成員通過可信賴的,會員服務(wù)提供商(MSP)注冊,獲取簽發(fā)證書哩簿,有了證書,還要有秘鑰對,而不是開放式的無權(quán)限系統(tǒng)。

二:Hyperledger Fabric邏輯架構(gòu)

(一).成員服務(wù):身份管理

(二).共識服務(wù)

  • 賬本管理
  • 交易管理

(三).鏈碼服務(wù):智能合約


1.用戶身份:
  • orderer節(jié)點(diǎn) : 排序節(jié)點(diǎn), fabric不用挖礦,order結(jié)點(diǎn)相當(dāng)于礦工的角色,對數(shù)據(jù)排序, 打包變成區(qū)塊,order節(jié)點(diǎn)將打包的區(qū)塊發(fā)送給peer節(jié)點(diǎn),peer節(jié)點(diǎn)收到區(qū)塊之后, 將數(shù)據(jù)寫入賬本中,打包的塊大小, 頻率可以通過環(huán)境配置進(jìn)行配置.
    為什么要排序? 解決雙花問題,排序算法有兩種:
    • solo: 測試用的, 確實(shí)很慢,隊(duì)列,串行,很慢
    • kafka : 分布式的排序服務(wù)器,效率高,企業(yè)級
  • peer節(jié)點(diǎn) : 賬本只在peer節(jié)點(diǎn)上, 存儲數(shù)據(jù),在整個(gè)分布式區(qū)塊鏈網(wǎng)絡(luò)中, 分布著很多peer節(jié)點(diǎn),每個(gè)peer節(jié)點(diǎn)中的數(shù)據(jù)相同,對一個(gè)節(jié)點(diǎn)進(jìn)行操作, 數(shù)據(jù)會被同步到網(wǎng)絡(luò)的其他節(jié)點(diǎn)上
    peer節(jié)點(diǎn)從職責(zé)上可以劃分:

    • 背書節(jié)點(diǎn)
    • 提交節(jié)點(diǎn)
    • 主節(jié)點(diǎn)
    • 錨節(jié)點(diǎn)
  • 客戶端程序:訪問orderer節(jié)點(diǎn), peer節(jié)點(diǎn),有普通用戶和管理員用戶

2-1.賬本管理:賬本在peer節(jié)點(diǎn)上, 由兩部分組成
  • 區(qū)塊鏈:所有的交易記錄
  • 世界狀態(tài): 就是一鍵值對,數(shù)據(jù)庫, 存儲區(qū)塊鏈最新,最后一條記錄,默認(rèn)的數(shù)據(jù)庫: levelDB, 不想使用leveldb, 可以使用couchdb
2-2.交易管理
  • 部署交易:編寫鏈碼, 業(yè)務(wù)邏輯, 智能合約,將鏈碼安裝到peer節(jié)點(diǎn)上
  • 調(diào)用交易:對鏈碼中的業(yè)務(wù)邏輯進(jìn)程調(diào)用,鏈碼中有對應(yīng)的接口
3.智能合約: 鏈碼,需要部署到有賬本的peer結(jié)點(diǎn)上,智能合約的編寫支持的語言 go, node.js

三:Peer(結(jié)點(diǎn))酝静、Ledger(賬本)和 ChainCode(鏈碼,智能合約)關(guān)系

1.Ledger賬本:在peer節(jié)點(diǎn)上,默認(rèn)就有
2.ChainCode智能合約:程序猿編寫完智能合約, 然后安裝到peer節(jié)點(diǎn),默認(rèn)是沒有,客戶端調(diào)用鏈碼(智能合約), 鏈碼修改賬本

在一個(gè)peer節(jié)點(diǎn)上可以同時(shí)有多個(gè)賬本,賬本和賬本之間數(shù)據(jù)不可見, 相互隔離,一個(gè)賬本可以對應(yīng)一個(gè)合約, 也可以是多個(gè)

1.JPG

四:通道(channel)

用來隔離數(shù)據(jù)的, 用戶在不同的通道中, 使用的數(shù)據(jù)是不同的, 而且數(shù)據(jù)不共享, 理解為群
通道是由共識服務(wù)(ordering)提供的一種通訊機(jī)制,將peer和orderer連接在一起羡玛,形成一個(gè)個(gè)具有保密性的通訊鏈路(虛擬)别智,實(shí)現(xiàn)了業(yè)務(wù)隔離的要求

1.JPG

2.JPG

五:組織(channel)

fabric中的組織是通過職能劃分的
在Fabric中一個(gè)組織里邊都有什么?

  • 有 (1 - N )個(gè)用戶
  • 存儲賬本的peer節(jié)點(diǎn)

圖:


1.JPG

p1- p8: peer節(jié)點(diǎn)
a1-a4: 客戶端
C: 通道
org1 - org4: 組織

1.組織1中有2個(gè)peer節(jié)點(diǎn),在同一個(gè)組織中peer結(jié)點(diǎn)的職責(zé)相同, 沒有部署在同一個(gè)地方,同一個(gè)組織的節(jié)點(diǎn)上安裝的智能合約相同,不同組織的節(jié)點(diǎn),安裝的智能合約不同,每個(gè)組織內(nèi)用一個(gè)專門的客戶端, 用來訪問當(dāng)前組織內(nèi)的節(jié)點(diǎn)

2.組織1中要存儲數(shù)據(jù),修改賬本數(shù)據(jù),需要客戶端a1,a1作用連接peer1或者peer2

3.多個(gè)組織加入到同一個(gè)通道, 那么這些組織中節(jié)點(diǎn)上的賬本數(shù)據(jù)相同

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市稼稿,隨后出現(xiàn)的幾起案子薄榛,更是在濱河造成了極大的恐慌,老刑警劉巖让歼,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敞恋,死亡現(xiàn)場離奇詭異,居然都是意外死亡谋右,警方通過查閱死者的電腦和手機(jī)硬猫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來改执,“玉大人啸蜜,你說我怎么就攤上這事”补遥” “怎么了衬横?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長终蒂。 經(jīng)常有香客問我蜂林,道長遥诉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任噪叙,我火速辦了婚禮矮锈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘构眯。我一直安慰自己愕难,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布惫霸。 她就那樣靜靜地躺著猫缭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪壹店。 梳的紋絲不亂的頭發(fā)上猜丹,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機(jī)與錄音硅卢,去河邊找鬼射窒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛将塑,可吹牛的內(nèi)容都是我干的脉顿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼点寥,長吁一口氣:“原來是場噩夢啊……” “哼艾疟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起敢辩,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蔽莱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后戚长,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盗冷,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年同廉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了仪糖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恤溶,死狀恐怖乓诽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情咒程,我是刑警寧澤鸠天,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站帐姻,受9級特大地震影響稠集,放射性物質(zhì)發(fā)生泄漏奶段。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一剥纷、第九天 我趴在偏房一處隱蔽的房頂上張望痹籍。 院中可真熱鬧,春花似錦晦鞋、人聲如沸蹲缠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽线定。三九已至,卻和暖如春确买,著一層夾襖步出監(jiān)牢的瞬間斤讥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工湾趾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芭商,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓搀缠,卻偏偏與公主長得像铛楣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子艺普,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345