peer模块是Fabric中最重要的模块,也是在Fabric系统使用最多的模块。peer模块在Fabric中被称为节点模块,主要负责存储区块链数据、运行链码、提供对外服务接口等作用。
1 peer模块命令和参数
Usage:
peer [flags]
peer [command]
Available Commands:
chaincode #操作链码,相关子命令: install|instantiate|invoke|package|query|signpackage|upgrade.
channel #操作通道,相关子命令: create|fetch|join|list|update.
logging #操作日志,相关子命令: getlevel|setlevel|revertlevels.
node #节点服务,相关子命令: start|status.
version #打印版本信息
Flags:
--logging-level string #日志级别
--test.coverprofile string #测试配置文件
-v, --version #显示当前服务器的版本
2 peer模块的配置选项
peer模块的配置选项可以通过环境变量或者配置文件的方式来配置,在具体操作中,如果是通过Docker方式启动,一般使用环境变量配置方式。如果是采用直接命令启动,一般是采用配置文件方式
环境变量的配置示例如下:
注意:下面的环境变量配置信息仅供参考,并不完整
export set CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
export set CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=host
export set CORE_LOGGING_LEVEL=DEBUG
export set CORE_PEER_TLS_ENABLED=true
export set CORE_PEER_GOSSIP_USELEADERELECTION=true
export set CORE_PEER_GOSSIP_ORGLEADER=false
export set CORE_PEER_PROFILE_ENABLED=false
export set CORE_PEER_TLS_CERT_FILE=/home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org1.simple-network.com/peers/peer0.org1.simple-network.com/tls/server.crt
export set CORE_PEER_TLS_KEY_FILE=/home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org1.simple-network.com/peers/peer0.org1.simple-network.com/tls/server.key
export set CORE_PEER_TLS_ROOTCERT_FILE=/home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org1.simple-network.com/peers/peer0.org1.simple-network.com/tls/ca.crt
配置文件示例如下:
注意:这个示例就是《Fabric实战(2)运行一个简单的fabric网络(容器外)》的core.yaml文件
logging:
peer: debug
cauthdsl: warning
gossip: warning
ledger: info
msp: warning
policies: warning
grpc: error
format: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}'
peer:
id: peer0.org1.simple-network.com
networkId: dev
listenAddress: 0.0.0.0:7051
address: peer0.org1.simple-network.com:7051
chaincodeListenAddress: 0.0.0.0:7052
addressAutoDetect: false
gomaxprocs: -1
gossip:
bootstrap: 127.0.0.1:7051
useLeaderElection: true
orgLeader: false
endpoint:
maxBlockCountToStore: 100
maxPropagationBurstLatency: 10ms
maxPropagationBurstSize: 10
propagateIterations: 1
propagatePeerNum: 3
pullInterval: 4s
pullPeerNum: 3
requestStateInfoInterval: 4s
publishStateInfoInterval: 4s
stateInfoRetentionInterval:
publishCertPeriod: 10s
skipBlockVerification: false
dialTimeout: 3s
connTimeout: 2s
recvBuffSize: 20
sendBuffSize: 200
digestWaitTime: 1s
requestWa