Hyperledger Fabric 核心模块(5)peerer共识
peer 模塊在Fabric 中被稱為主節點模塊 ,主要負 責存儲區塊鏈數據 、運行維護鏈碼 、 提供對外付服務接口等作用
1. 命令行常用參數
peer 模塊中常用的命令和參數如下所示 :
//命令
chaincode chaincode 相關操作相關 子命令 installlinstantiatelinvokelpackagelqueyIsegnpackagelupgradellist .
channel channel 相關操作 createlfetchljoin llistlupdate .logging node verser
參數 :
–Log levels getlevellsetlevellrevertlevels .
啟動 peer 節點服務器
顯示當前 peerf 服務器的版本
–logging level string 日志級別
–test coverprofile string 測試配置文件
–v , version 顯示當前服務器的版本
2. peer 的環境變量
配置文件和環境變量是設置 peer 啟動參數的重要手段
3. peer 模塊的配置文件
peer 的配置文件的默認文件名為 croe.yaml , 配置文件分為 logging 、 peer 、 vm 、 chaincode 、ledger 這五大部分 。 各部分的詳細含義如下所示 。
3.1 配置文件中 logging 相關的屬性
logging節點定義了 peer 模塊中所有模塊的日志級別和日志格式,每個模塊的日志級別
可以根據業務的需求定義成不一樣的格式:日志分為 critical 、 error 、 warning 、 notice 、 info 、 debug 這六個級別 。
3.2 peer 節點相關的配置
peer 節點定義了 peer 模塊一般的配置信息:
-
通用屬性
? id: peer 節點的編號;
? networkld: peer 節點的網絡編號;
? listenAddress : peer 節點 的監昕地址;
? chaincodeListenAddress : chaincode 的監聽地址;
? address :訪問地址;
? addressAutoDetect :錨節點地址;
? gomaxprocs : 最大有效數;
? fileSystemPath :區塊等數據的存放路徑;
? mspConfigPath : 當前節點 MSP 文件的路徑 。 -
gossip
? bootstrap : 啟動節點后向哪些節點發起 gossip 連接,以加入網絡 。 這些節點與本地節點需要屬于同一組織 ;
? endpoint :本節點在同一組織內的 gossip id ,默認為 peer. address;
? useLeaderElection :用戶組織節點的生成方式;
? orgLeader : 當前節點是否為用戶組織節點;
? maxBlockCoimtToStore :保存到內存中的區塊個數上限,超過則丟棄
? maxPropagationBurstLatency : 保存消息的最大時間,超過則觸發轉發給其他節點 ;
? maxPropagationBurstSize : 保存的最大消息個數,超過則觸發轉發給其他節點;
? propagatelterations : 消息轉發的次數 ;
? propagatePeerNum :推送消息給指定個數的節點;
? pulllnterval : 拉取消息的時間間隔;
? pullPeerNum :從指定個數的節點拉取消息;
? requestStatelnfolnterval :從節點拉取狀態信息( Statelnfo )消息的間 隔 ;
? publishStatelnfolnterval :向其他節點推送狀態信息消息的 間隔;
? publishCertPeriod : 啟動后,在心跳消息中嵌入證書的等待時間 ;
? statelnfoRetentionlnterval :狀態信息消息的超時時間;
? skipBlockVerification :是否不對區塊消息進行校驗, 默認為 false;
? dialTimeout: gRPC 連接撥號的超時時間;
? connTimeout : 建立連接的超時時間;
? recvBuffSize :收取消息的緩沖大小;
? sendBuffSize : 發送消息的緩沖大小 ;
? digestWaitTime :處理摘要數據的等待時間;
? requestWaitTime : 處理 nonce 數據的等待時間 ;
? responseWaitTime : 終止拉取數據處理的等待時間 。
? aliveTimelnterval : 定期發送 Alive 心跳消息的時間間 隔;
? aliveExpirationTimeout: Alive 心跳消息的超時時間;
? reconnectlnterval : 斷線后重連的時間間隔 ;
? extema!Endpoint :節點被組織外節點感知時的地址,默認為空,代表不被其他組織所感知 。 -
events
? address :事件監聽器地址;
? buffersize : 事件消息緩存數,超過該值會被阻塞;
? timeout :隊列阻塞的超時時間 。 -
tis
? enabled :是否激活 tis;
? cert :服務身份驗證證書;
? key :服務的私鑰文件;
? rootcert :根服務器證書;
? serverhostoverride: tis 握手時候制定服務名稱 -
BCCSP
BCCSP 主要配置加密和解密類的相關信息,具體可以參考相關文檔 。
3.3 vm 節點相關的配置
vm 節點定義 peer 和 docker 交互的相關配置
vm 節點配置項的詳細注釋如下所示:
? endpoint: docker 服務器 Daemon 的地址, 默認取端口的套接字;
? tls :啟動 docker 的 tls 證書;
? attachStdout : 是否將 docker 消息綁定到指定 的輸出;
? NetworkMode : chaincode 容器的網絡命名模式;
? Dns :是否啟用域名服務器;
? LogConfig: docker 容器的日志配置信息 ;
? Type :日志類型 ;
? Memory :占用內存 。
4. 配置文件中 chaincode 節點相關的配置
chaincode 定義了鏈碼相關 的配置
? peerAddress : chaincode 中的 peer 服務器地址;
? builder :本地的編譯環境為 docker 鏡像;
? go lang : Go 語言版的 chaincode 的基礎鏡像;
? car: car 格式的 chaincode 生成鏡文件時的基礎鏡像 ;
? java: Java 語言版的 chaincode 的基礎鏡像;
? node : Node 語言版的 chaincode 的基礎鏡像;
? startuptimeout :啟動chaincode 容器時的超時時間,超過這個時間認為啟動失敗;
? executetimeout :執行 Invoke 和 Init 方法時的超時時間, 超過這個時間認為執行失敗;
? mode : chaincode 的運行模式, net 為網絡模式, dev 為開發模式 , dev 模式下,可以在容器外運行 chaincode;
? keepalive: peer 節點和 chaincode 直接的心跳時間;
?system~ 系統 chaincode 的開關;
? logging-: chainoode 的日志級別 。
5. 配置文件中 ledger 節點相關的配置
ledger 節點定義了賬本相關的配置
? state :狀態存儲數據庫的配置 ;
? stateDatabase :數據庫類型,目前支持 goleveldb 和 CouchDB 。
? couchDBConfig: stateDatabase 的類型為 CouchDB, CouchDB 相關的參數;
? enableHistoryDatabase : 是否保存狀態的歷史數據庫, 生產系統中建議開啟
總結
以上是生活随笔為你收集整理的Hyperledger Fabric 核心模块(5)peerer共识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 核
- 下一篇: Hyperledger Fabric 核