智能合约重构社会契约(9)Fabric
生活随笔
收集整理的這篇文章主要介紹了
智能合约重构社会契约(9)Fabric
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. Docker
Docker 是一個開源的應用容器引擎, 開發者可以將他們的應用及依賴包打包到一個可移植的鏡像中,也可以實現虛擬化。
- 完全使用沙箱機制,相互之間不會有任何接口。
- 在超級賬本中,智能合約的代碼在使用任意的語言編寫之后,將會被編譯器打包進Docker鏡像中,以容器作為執行環境。
2. 鏈碼
2.1 所有的鏈碼都繼承兩個接口,Init和Invoke。
Init接口
用于初始化合約,在整個鏈碼的生命周期里該接口僅僅執行一次。
Invoke接口
編寫業務邏輯的唯一人?雖然只有一個入口,但是可以根據參數傳遞的不同自由區分不同業務邏輯。
2.2合約接口能夠獲取的數據主要分為三類:
- 輸人參數獲取
這個直接就是調用時候的輸入。 - 與狀態數據庫和歷史數據庫交互
在合約層,可以將區塊鏈底層當作一個鍵值對數據庫,合約就是對數據庫中值的增刪改查。 - 與其他合約的交互
在合約執行的過程中,可以與其他合約交換數據。有了這種形式的數據獲取方式,其實就可以將聯系不緊密的業務邏輯拆分為多個合約,只有必要的時候跨合約調用。
3.Raft協議
Raft是一個管理復制日志的共識算法。
step1. 客戶端向主節點發送請求,主節點收到后將請求追加到日志中,并將該請求發送給所有的跟隨節點,跟隨節點也會將請求追加到自身的日志中并返回一個確認消息。
step2. 當主節點接收到大部分跟隨節點的確認消息,就會將命令日志提交給狀態管理機。
step3. 一旦主節點提交了日志,跟隨節點也會將日志提交給自身管理的狀態機。
step4. 最后主節點向客戶端返回響應結果。
Raft并不是拜占庭共識,它僅僅需要容忍2n+1個節點中不超過n個的非拜占庭故障(Fabric的聯盟鏈數字證書等安全機制確保惡意節點的可能性不高)
總結
以上是生活随笔為你收集整理的智能合约重构社会契约(9)Fabric的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能合约重构社会契约(8)以太坊分片
- 下一篇: 区块链BaaS云服务(27)米链科技 H