參考:fabric實戰
執行程序:
1.客戶端或sdk呼叫api把呼叫請求發送到所有的背書節點
2.背書節點模擬交易執行,看看有沒有問題,沒有問題就給呼叫的客戶端或sdk回傳讀寫集,并對其簽名,
3.sdk收到足夠的簽名(背書)后,把讀寫集/交易發給排序節點,排序節點進行排序后繼續轉發給所有記賬節點(包括之前的背書節點,從記賬節點之中選出幾個作為背書節點),需要說明的是排序節點為防止單點掉線,也是多個節點組成,他們有共識機制保持同步,比如kafca機制,
4.所有節點對交易進行驗證,驗證通過后記賬,也就是修改狀態,
為什么需要區塊鏈?
假設我有100萬的償還能力,現在我去貸款公司A貸款100萬,銀行A進行調查后發現我的財產、公司、地產等相關資訊后,得出我有100萬的償還能力,于是就把100萬貸給了我,接著我又去貸款公司B貸款100萬,貸款公司B調查得出我有100萬的償還能力,于是把100萬貸給了我,然后我又去貸款公司C…,最后我無力償還選擇跑路,貸款公司A、B、C吃了大虧,這是因為ABC之間的資訊不流通,或者對流通的資料互相不信任,這也是篇p2p公司暴雷的原因,因此ABC之間需要建立區塊鏈解決這個痛點,每個公司設立一個或者多個節點,組成聯盟鏈,
搭建區塊鏈的需求:
- 多個企業之間共同參與某個專案,
- 企業或者部門之間需要共享資料,
- 他們互不信任對方,
- 交易記錄需要溯源,
如何使用:
1.下載docker
2.下載鏈碼
3.下載sdk包呼叫鏈碼
4.撰寫智能合約,智能合約至少要實作兩個函式,Init函式和Invoke函式,Init函式是發布合約時的初始化函式,類似于以太坊的建構式,Invoke函式是呼叫其它方法的函式,比如寫了一個合約方法A,需要通過呼叫Invoke方法去呼叫A,也就是把A的函式名、引數作為Invoke函式的引數,
運行時需要配置:
配置節點資訊,有多少個節點,誰時排序節點,誰是記賬節點,每個節點的域名、埠,
配置組織資訊,組織的公私鑰存盤位置,它有哪些節點,
問題:
- 為什么要模擬執行?
- 讀寫集是什么東西?
- 如何發布合約?
- 有個ca服務,進入聯盟的節點或者說企業需要呼叫ca的服務得到它的簽名,ca具體是如何運作的,由誰來決定是否給與簽名,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/335238.html
標籤:區塊鏈
