Hyperledger Fabric(三)—— Fabric智慧合約
阿新 • • 發佈:2018-12-20
Fabric 智慧合約
- 執行環境:以太坊虛擬智慧合約執行環境EVM,fabric執行環境是docker。
- 鏈碼:
- 是應用層和區塊鏈底層的中間點。
- 每一個鏈碼執行環境是一個獨立的docker
- 使用GPRC協議與背書節點通訊,只有背書節點才能執行智慧合約
- 鏈碼得到生命週期
- 打包,智慧合約的編寫和編譯。
- 安裝,將打包好的檔案,上傳到背書節點。
- 例項化,實際的安裝了,執行Init方法,只執行一次,類似於建構函式。
- 升級,升級和修復鏈碼。
- 互動,自己定義的方法的呼叫。
- 鏈碼的互動流程
網路搭建配置的實現
- crypto-config.yaml :用於配置組織節點的個數,參考firstnetwork去編寫
- configtx.yaml:用於區塊聯盟中的組織資訊,配置名字和證書等的位置,參考firstnetwork去編寫。編寫完後,傳到linux對應目錄。
- 進入deploy目錄,設定工作目錄為當前目錄。
- 按照這個yaml檔案生成配置。
- 建立用於存放配置的目錄
- 生成系統連的創世區塊
- -profile指定聯盟配置,outputBlock指定存放的位置。
- 生成通道的創世交易
- profile指定業務聯盟,outputCreateChannelTx存放的路徑,建立的名字叫mychannel:
- 生成兩個組織錨節點的交易資訊
- 將docker-compose.yaml拖進deploy目錄
啟動網路
- 啟動docker,後臺執行
- 檢視orderer節點的執行日誌
- 與客戶端互動操作
- 建立通道
- -o指定與哪個orderer節點通訊,-c指定建立的通道名稱,-f指定使用的檔案
- 加入通道
- 檢視peer加入的通道列表
- 指定主節點
基本的網路搞定了
安裝鏈碼
-n 是安裝的名字,-v是version,-l是使用語言
- 克隆一個會話,互動執行peer0,檢視安裝的鏈碼
- 鏈碼例項化
- 鏈碼互動執行
- 多次執行查詢,得到的結果不用,因為invoke()中使用了隨機數,不要這麼做