
新文檔 2019-10-17 09.28.50.jpg
一、鏈碼:
鏈碼,就是傳統(tǒng)區(qū)塊鏈技術(shù)模型中的智能合約,在Hyperledger fabric 框架中,被稱為鏈碼。
傳統(tǒng)區(qū)塊鏈技術(shù)模型中,智能合約一般都是運行在一個獨立的虛擬機中(比如以太坊中,智能合約運行在EVM中),在fabric中,鏈碼運行在Docker容器中。
二、鏈碼分類
鏈碼可以被分為系統(tǒng)鏈碼和用戶鏈碼兩種。
系統(tǒng)鏈碼
用于支持配置管理、背書簽名、鏈碼生命周期管理等系統(tǒng)的資源和功能,不能隨意修改和操作,只能通過標(biāo)準(zhǔn)接口進(jìn)行調(diào)用。
用戶鏈碼
用戶鏈碼是用戶自定義編寫的智能合約代碼,支持打包、安裝、部署、升級、調(diào)用等操作。
三、鏈碼生命周期管理:
1.(簽名)打包
支持節(jié)點對鏈碼包進(jìn)行簽名打包或者多個節(jié)點對已經(jīng)簽名的包進(jìn)行簽名打包。
2.鏈碼安裝
將鏈碼文件保存到節(jié)點目錄下。
3.鏈碼部署(實例化)
將鏈碼文件綁定到指定通道、準(zhǔn)備好運行鏈碼的容器。
4.鏈碼調(diào)用(invoke)
交易的主要調(diào)用方法,需要指定參數(shù)和方法名稱。(要經(jīng)過orderer)
5.鏈碼升級(upgrade)
用于升級指定應(yīng)用通道上的用戶鏈碼以拓展功能和修復(fù)漏洞等。
6.鏈碼查詢(query)
用于查詢Peer節(jié)點中的狀態(tài)數(shù)據(jù)。(不經(jīng)過orderer)