1、client端建立交易提案(chaincode函式和引數)併發送到endorse peer(背書節點)。
2、endorse peer節點執行chaincode,基於讀取和寫入的key生成讀寫操作集。
3、endorse peer節點向客戶端返回提案結果(包含讀寫操作集)
4、client端把交易提交到order服務,交易內容包含來自提案結果的讀寫操作集。
5、order服務將排完序的交易封裝到區塊中去。
6、區塊將被傳送給commit peer節點。
7、commit peer節點執行如下操作:
(1)執行驗證邏輯(vscc檢查背書策略,mvcc檢查讀操作的版本自**交易以來未在資料庫中被修改。
(2)在區塊中指明哪些交易是有效和無效的。
(3)在記憶體或檔案系統上把區塊加入區塊鏈,並且將區塊內的有效交易寫入狀態資料庫。
(4)出發event訊息,使得客戶端通過sdk監聽知道哪些交易是有效的或無效的。
下圖是完整生命週期示意圖:
下圖是完整交易流示意圖:
Fabric 1 0交易流程
fabric中的所有交易都是通過chaincode執行 1.應用程式客戶端通過sdk呼叫證書服務 ca 服務,進行註冊和登記,並獲取身份證書。2.應用程式客戶端通過sdk建立好交易提案 proposal 交易提案把帶有本次交易要呼叫的合約標識 合約方法和引數資訊以及客戶端簽名等資訊傳送給背書 end...
Fabric 1 0 交易基本流程
1 client端建立交易提案 chaincode函式和引數 併發送到endorse peer 背書節點 2 endorse peer節點執行chaincode,基於讀取和寫入的key生成讀寫操作集。3 endorse peer節點向客戶端返回提案結果 包含讀寫操作集 4 client端把交易提交到...
Fabric 1 0 環境搭建中遇到的問題記錄
1.注意git的時候指定需要的版本,不然後面可能會出現一些奇怪的錯誤 git clone v v1.0.0 2.找不到檔案或目錄 解決辦法 將.bootstrap.sh 生成的bin資料夾直接cp到 fabric release linux amd64 下 3.鏈碼例項化錯誤 chaincode i...