區塊鏈交易流程

交易流程圖

  1. App/CLI 端向指定的 endorser 節點發送 Instantiate/invoke請求;
  2. endorser 接收到請求以後,若是相關 chaincode 存在,就會將請求發送到 chaincode 端,並執行相關函數(因爲執行過程當中,可能涉及到屢次的 state 讀寫,而每一次讀寫都會涉及到底層 db 的操做,因此這個過程會涉及到屢次與 endorser 節點的通訊);
  3. chaincode 執行完畢以後,會發送消息給 endorser 節點,若是執行成功, endorser 節點就會封裝執行結果並對齊 endorse,並把結果返回給 App/CLI 端;
  4. App/CLI 端收到 endorser 節點的執行結果後,會將交易(包含上一步返回的讀寫集)發送給 order 節點
  5. order 節點會將若干交易進行排序和打包成 block,發送到 commiter 節點
  6. commiter 節點校驗各個節點的交易
  7. 驗證經過,同步區塊,寫入狀態數據庫,交易完成。
交易的本質,其實就是一次 chaincode 調用。