Hyperledger之Fabric准備工作及部署(一)


准備工具:

  1.安裝curl(cURL是一個利用URL語法在命令行下工作的文件傳輸工具)

  2.安裝docker(每個節點需要單獨放到單獨的docker中啟動)

  3.docker-compose(管理多個docker的管理工具 docker-compose k8s)

  4.安裝go

  5.安裝node.js(寫鏈碼但是不成熟,主要用來寫客戶端)

  6.安裝Python(一些運行環境需要)

部署環境:

  1.創建hyperledger-fabric

  2.下載fabric包含三個版本(fabric版本,fabric-ca版本,第三方庫版本)

     下載fabric-ca-linux-amd64

   peer中存放區塊

   order:數據打包

   ccenv:Go語言依賴所需

   fafka:排序

        

         將hyperledger-fabric/fabric-samples/bin目錄文件下的拷貝到環境變量中/usr/local/bin

        進入first-network,執行:./byfn.sh generate  (生成證書文件)

        ./byfn.sh up(啟動,安裝鏈碼)

        ./byfn.sh down(關閉)

        每個peer節點都要安裝一次鏈代碼,在一個節點上做一次就行

成員管理:

  會員注冊(聯盟鏈,私有鏈)

  身份保護

  交易審計

  內容保密

賬本管理

  區塊鏈(保存所有的交易記錄)

  世界狀態

    (最新交易狀態)

    (數據存儲在當前節點的數據庫中,自帶的數據庫levelDB,也可以使用couchDB)

交易管理

  部署交易(部署的是鏈碼,給節點安裝鏈碼chaincode)

  調用交易(invoke)

智能合約

  處理網絡成員需要的業務

  實現鏈碼和賬本分離(邏輯和數據分離)

 

基礎概念:

  組織:

    有用戶

    有進行數據處理的節點=》peer

      put 寫入到區塊鏈中

      get 數據查詢

  節點

    client

      進行交易管理(cli,node sdk,java sdk)

        cli ->通過Linux命令,使用的是shell命令對數據進行提交和查詢

        node.js (Java,go)->通過node.js實現客戶端

      peer

        儲存和同步賬本數據

          用戶通過客戶端工具對數據進行put操作 ,寫入到數據

          數據同步是fabric框架實現的

      orderer

        排序和分發交易

          排序:解決雙花問題

             沒發起一般交易都會在orderer節點中排序

          交易數據先打包,再寫入區塊 

通道  

  通道是由共識服務提供的通訊機制,將peer和orderer連接在一起,形成具有保密性的通訊線路(虛擬),實現業務的隔離,通道與賬本和狀態緊密相關

交易流程

  application/SDK:充當的是客戶端角色

    寫數據

  客戶端發起一個提案給peer節點

  peer節點發起交易預演,得到結果

  peer節點將預演結果發送給客戶端

    模擬失敗,交易終止

    模擬成功,繼續

  客戶端將交易提交給排序節點

  排序節點進行交易打包

  oderer節點將打包數據發送給peer,peer節點將數據寫入區塊鏈中

    打包數據的發送不是實時的(曠工)

    有設定條件在配置文件中

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM