Hyperledger Fabric 提供了一个名为核心.yaml,你可以发现在对等容器内在文件夹 /etc/hyperledger/fabric/ 上
面料用途Viper https://github.com/spf13/viper作为配置框架,它提供了通过环境变量覆盖配置文件的值的能力。基本上它的初始化如下:
// used to prefix config keys to prevent possible collisions
viper.SetEnvPrefix("core")
// enforces to check values configured via environmental variables first
viper.AutomaticEnv()
这使得 viper 在以前缀开头的环境变量中寻找所有配置键CORE
string.
现在如果我们看一下同行部分 https://github.com/hyperledger/fabric/blob/release-1.0/sampleconfig/core.yaml#L59(更新)示例配置中:
peer:
id: jdoe
networkId: dev
listenAddress: 0.0.0.0:7051
address: 0.0.0.0:7051
这些值中的任何一个都可以通过导出适当的环境变量来覆盖,例如对等网络 ID:
export CORE_PEER_NETWORKID=mypeerID
同样也适用于其他部分,例如,如果我们想控制不同组件的日志记录级别:
logging:
peer: info
cauthdsl: warning
gossip: warning
ledger: info
msp: warning
policies: warning
grpc: error
为了使 msp 组件记录调试级别消息,我们需要导出以下变量:
export PEER_LOGGING_MSP=debug
请注意,只有在对等启动之前导出,这才会生效。