您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Hyperledger Fabric中鏈碼的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Hyperledger Fabric中鏈碼的示例分析”這篇文章吧。
網(wǎng)絡(luò)運行環(huán)境我們已經(jīng)啟動完成,現(xiàn)在我們從開發(fā)者的角度來認(rèn)識一下完成交易所必須的智能合約(在 Hyperledger Fabric 中被稱之為 Chaincode,也就是鏈上代碼)的相關(guān)知識,以便于理解賬本中的數(shù)據(jù)到底是通過什么方式進(jìn)行操作。
Chaincode:鏈上代碼,簡稱鏈碼,一般是指由開發(fā)人員使用Go語言(也支持Java等語言)編寫的應(yīng)用程序代碼,提供分布式賬本的狀態(tài)處理邏輯。鏈碼被部署在Fabric的網(wǎng)絡(luò)節(jié)點中,能夠獨立運行在具有安全特性的受保護(hù)的 Docker 容器中,以 gRPC 協(xié)議與相應(yīng)的 peer 節(jié)點進(jìn)行通信,以操作(初始化或管理)分布式賬本中的數(shù)據(jù)??梢愿鶕?jù)不同的需求開發(fā)出不同的復(fù)雜的應(yīng)用。
鏈碼分類
在 Hyperledger Fabric 中,鏈碼一般分為:
系統(tǒng)鏈碼
用戶鏈碼
負(fù)責(zé) Fabric 節(jié)點自身的處理邏輯, 包括系統(tǒng)配置、背書、校驗等工作
系統(tǒng)鏈碼僅支持 Go 語言, 在 Peer 節(jié)點啟動時會自動完成注冊和部署
系統(tǒng)鏈碼共有五種類型:
配置系統(tǒng)鏈碼(CSCC)
CSCC:Configuration System Chaincode,負(fù)責(zé)處理 Peer 端的 Channel 配置。
生命周期系統(tǒng)鏈碼(LSCC)
LSCC:Lifecycle System Chaincode,負(fù)責(zé)對用戶鏈碼的生命周期進(jìn)行管理。
查詢系統(tǒng)鏈碼(QSCC)
QSCC:Query System Chaincode,提供賬本查詢 API。如獲取區(qū)塊和交易等信息。
背書管理系統(tǒng)鏈碼(ESCC)
ESCC:Endorsement System Chaincode,負(fù)責(zé)背書(簽名)過程, 并可以支持對背書策略進(jìn)行管理
對提交的交易提案的模擬運行結(jié)果進(jìn)行簽名,,之后創(chuàng)建響應(yīng)消息返回給客戶端
驗證系統(tǒng)鏈碼(VSCC)
VSCC:Validation System Chaincode,處理交易的驗證,包括檢查背書策略以及多版本并發(fā)控制
由應(yīng)用程序開發(fā)人員根據(jù)不同場景需求及成員制定的相關(guān)規(guī)則,使用 Golang(或Java等)語言編寫的基于操作區(qū)塊鏈分布式賬本的狀態(tài)的業(yè)務(wù)處理邏輯代碼,運行在鏈碼容器中,通過 Fabric 提供的接口與賬本狀態(tài)進(jìn)行交互。
用戶鏈碼在整個應(yīng)用程序中處于重要地位。因為它下可對賬本數(shù)據(jù)進(jìn)行操作,上可以給企業(yè)級應(yīng)用程序提供調(diào)用接口。所以一個沒有鏈碼的企業(yè)級應(yīng)用程序,不能稱之為是基于區(qū)塊鏈的企業(yè)級應(yīng)用程序。
鏈碼開發(fā)編寫完成后,并不能立刻使用,而是必須經(jīng)過一系列的操作之后才能應(yīng)用在 Hyperledger Fabric 網(wǎng)絡(luò)中進(jìn)而處理客戶端提交的交易。這一系列的操作是由鏈碼的生命周期來負(fù)責(zé)管理。
管理 Chaincode 的生命周期共有五個命令:
install:將已編寫完成的鏈碼安裝在網(wǎng)絡(luò)節(jié)點中。
instantiate:對已安裝的鏈碼進(jìn)行實例化。
upgrade:對已有鏈碼進(jìn)行升級。鏈代碼可以在安裝后根據(jù)具體需求的變化進(jìn)行升級。
package:對指定的鏈碼進(jìn)行打包的操作。
singnpackage:簽名。
安裝、實例化、升級這三項操作不適用于系統(tǒng)鏈碼
鏈碼的生命周期管理命令現(xiàn)階段只有這五個,但未來還會支持 stop 和 start 命令, 用來停止和啟動鏈碼。
鏈代碼成功安裝和實例化后,則處于活動狀態(tài)(正在運行),時刻準(zhǔn)備執(zhí)行處理提交的交易提案。
下一節(jié)開始我們會使用這些生命周期管理命令來實現(xiàn)對鏈碼的相關(guān)操作。
以上是“Hyperledger Fabric中鏈碼的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。