Hyperledger Composer概念介紹

上一篇我們講解了在Linux環(huán)境下安裝和運(yùn)行Hyperledger Composer,對(duì)這玩意有個(gè)大概的印象皆看。本篇我們會(huì)了解下Hyperledger Composer的組件,以及內(nèi)部設(shè)計(jì)。

Composer架構(gòu)介紹

首先我們先看一下官方網(wǎng)站放出的一張示意圖:

Composer-Diagram.png

很明顯可以看出,Hyperledger對(duì)這個(gè)項(xiàng)目的定位是Fabric的上層握截,由Composer創(chuàng)建出Model File(.cto文件), Script File(.js文件), ACL(.acl文件), Query File(.qry文件)等等,進(jìn)行打包成一個(gè)商業(yè)網(wǎng)絡(luò)文件(.bna文件)烂叔,發(fā)布到Fabric網(wǎng)絡(luò)中川蒙。

它的作用很明顯,就是加快Fabric項(xiàng)目的開(kāi)發(fā)和部署的一個(gè)官方工具长已。在使用前需要先對(duì)商業(yè)模型進(jìn)行快速建模。比如一個(gè)買(mǎi)賣(mài)房屋的商業(yè)模型如下:

  • Assets(資產(chǎn)): 房屋清單
  • Participants(參與者): 購(gòu)買(mǎi)人和屋主
  • Transactions(交易過(guò)程): 完成買(mǎi)賣(mài)房屋昼牛,結(jié)算清單

參與者可以訪問(wèn)交易數(shù)據(jù)术瓮,但是受限于他們的角色。房屋中介可以創(chuàng)建一個(gè)應(yīng)用程序贰健,為買(mǎi)賣(mài)雙方提供一個(gè)簡(jiǎn)單的用戶(hù)接口胞四,看到交易的過(guò)程。商業(yè)網(wǎng)絡(luò)也可以集成已有的庫(kù)存系統(tǒng)伶椿,完成房屋資產(chǎn)的轉(zhuǎn)移辜伟。另外其他相關(guān)的角色都可以注冊(cè)加入到這個(gè)網(wǎng)絡(luò)成為參與者,比如土地局可能會(huì)參與到交易中脊另,完成土地所有權(quán)轉(zhuǎn)移导狡。

Composer關(guān)鍵概念

Composer是一個(gè)編程模型,包含一種建模語(yǔ)言偎痛,以及一組API旱捧,用于快速建網(wǎng)和應(yīng)用程序,允許參與者發(fā)起交易,轉(zhuǎn)移資產(chǎn)(Assets)枚赡。

Composer提供了兩套組件氓癌,一個(gè)基于瀏覽器的UI Playgroud,用于演示和展示本地Fabric網(wǎng)絡(luò)贫橙。此外還提供一套開(kāi)發(fā)工具集贪婉,為開(kāi)發(fā)者提供便利的開(kāi)發(fā)框架。

Blockchain State Storage

這里就是區(qū)塊鏈的概念了卢肃,交易歷史和資產(chǎn)都會(huì)直接保存在區(qū)塊鏈上疲迂,用區(qū)塊鏈做存儲(chǔ)。

Connection Profiles

就是一組JSON配置文件践剂,Composer通過(guò)這組被稱(chēng)為Connection Profiles配置文件鬼譬,定義了應(yīng)該連接到哪個(gè)系統(tǒng)上。Connection Profile通常需要由系統(tǒng)創(chuàng)建者提供逊脯,定義了各種網(wǎng)絡(luò)連接參數(shù)优质。

Assets

這里的資產(chǎn)(Assets)可以指代任何有型的和無(wú)形的資產(chǎn),可以上鏈的一切可交易的商品军洼,都可以作為資產(chǎn)巩螃。

Assets必須有唯一標(biāo)識(shí)符,此外匕争,還可以添加一些額外的信息避乏,用于關(guān)聯(lián)其他資產(chǎn)或者參與者等等。

Participants

參與者(Participants)是商業(yè)網(wǎng)絡(luò)的成員甘桑,可以擁有資產(chǎn)或發(fā)起交易拍皮。參與者也是模型化的,跟資產(chǎn)一樣跑杭,必須有唯一的標(biāo)識(shí)符铆帽,此外也可以包含其他可選屬性。一個(gè)參與者可以有一個(gè)或多個(gè)身份德谅。

Identities

對(duì)應(yīng)Fabric的PKI認(rèn)證的概念爹橱,通過(guò)密鑰確認(rèn)用戶(hù)身份的。

Business Network cards

Business Network cards就是一個(gè)Identitie窄做,一個(gè)connection profile愧驱,以及元數(shù)據(jù)的組合,元數(shù)據(jù)包含一個(gè)可選的連接到商業(yè)網(wǎng)絡(luò)名稱(chēng)椭盏。Business Network cards簡(jiǎn)化了連接商業(yè)網(wǎng)絡(luò)的過(guò)程组砚。

Transactions

交易,可以抽象為資產(chǎn)轉(zhuǎn)移的過(guò)程掏颊。

Queries

查詢(xún)返回的是區(qū)塊鏈當(dāng)中的數(shù)據(jù)惫确。只需要定義好商業(yè)網(wǎng)絡(luò),以及相關(guān)的變量,就可以輕松的利用Composer API從區(qū)塊鏈網(wǎng)絡(luò)中提取所需數(shù)據(jù)改化。

Events

事件是在商業(yè)網(wǎng)絡(luò)中定義的掩蛤,就跟定義資產(chǎn)或參與者同樣的方式。定義事件之后陈肛,就可以通過(guò)交易處理函數(shù)觸發(fā)揍鸟。應(yīng)用程序可以通過(guò)composer-client API訂閱這些事件。

Access Control

商業(yè)網(wǎng)絡(luò)可以包含一組訪問(wèn)控制規(guī)則句旱。訪問(wèn)控制規(guī)則允許細(xì)粒度控制什么角色在什么條件下有什么樣的權(quán)限控制什么資產(chǎn)阳藻。

Historian registry

historian是專(zhuān)門(mén)用于成功交易記錄的,包含了發(fā)起交易的參與者和身份信息谈撒。historian將交易保存為HistorianRecord資產(chǎn)腥泥,定義在 Composer系統(tǒng)的namespace中。

小結(jié)

本篇我們總結(jié)了下Composer的一些基礎(chǔ)概念啃匿,后面這些概念將用于Composer的開(kāi)發(fā)過(guò)程中蛔外。后續(xù)將進(jìn)一步介紹Composer的大致工作流,用Composer開(kāi)發(fā)的時(shí)候是一個(gè)怎樣的流程溯乒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末夹厌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子裆悄,更是在濱河造成了極大的恐慌矛纹,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件光稼,死亡現(xiàn)場(chǎng)離奇詭異或南,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)艾君,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)迎献,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人腻贰,你說(shuō)我怎么就攤上這事“墙眨” “怎么了播演?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)伴奥。 經(jīng)常有香客問(wèn)我写烤,道長(zhǎng),這世上最難降的妖魔是什么拾徙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任洲炊,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暂衡。我一直安慰自己询微,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布狂巢。 她就那樣靜靜地躺著撑毛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唧领。 梳的紋絲不亂的頭發(fā)上藻雌,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音斩个,去河邊找鬼胯杭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛受啥,可吹牛的內(nèi)容都是我干的做个。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼腔呜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼叁温!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起核畴,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤膝但,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后谤草,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體跟束,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年丑孩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冀宴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡温学,死狀恐怖略贮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仗岖,我是刑警寧澤逃延,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站轧拄,受9級(jí)特大地震影響揽祥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜檩电,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一拄丰、第九天 我趴在偏房一處隱蔽的房頂上張望府树。 院中可真熱鬧,春花似錦料按、人聲如沸奄侠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遭铺。三九已至,卻和暖如春恢准,著一層夾襖步出監(jiān)牢的瞬間魂挂,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工馁筐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留涂召,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓敏沉,卻偏偏與公主長(zhǎng)得像果正,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盟迟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 可能會(huì)有一些不完善或錯(cuò)誤的地方秋泳,如果發(fā)現(xiàn)了請(qǐng)指出,謝謝攒菠! Blockchain State Storage 交易通...
    簡(jiǎn)聞閱讀 1,004評(píng)論 5 0
  • 悄悄告訴你 這個(gè)鏈接臥虎藏龍:HiBlock區(qū)塊鏈技術(shù)布道 GitHub 總之 Hyperledger Compo...
    假裝在去天使之城的路上閱讀 3,824評(píng)論 0 5
  • 這幫熊孩子戏阅! 課上,我說(shuō)啤它,假定全班要一起去春游奕筐,為春游的費(fèi)用我們策劃一次籌款活動(dòng)。你猜怎么著变骡?這幫熊孩子离赫!他們要么...
    村邊水洼里有兩只小蝌蚪閱讀 443評(píng)論 1 0
  • 前幾天由王小波的《萬(wàn)壽寺》得知了《暗店街》這本書(shū)。此書(shū)在《萬(wàn)壽寺》中是主角愛(ài)不釋手并推薦給讀者的锣光。帶著好奇,抽空...
    羅小p閱讀 720評(píng)論 9 8
  • 倒計(jì)時(shí)铝耻,進(jìn)入畢業(yè)創(chuàng)作的最后三天誊爹。這兩天一直沒(méi)有畫(huà)蹬刷,特別想說(shuō),此刻靜下來(lái)频丘,望著窗外办成,也該說(shuō)說(shuō)我跟畫(huà)畫(huà)的這份情誼。...
    招財(cái)貓Peggy閱讀 459評(píng)論 6 6