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