在哪里可以找到Hyperledger Fabric peer命令的可能环境变量?

时间:2017-08-01 16:17:52

标签: hyperledger hyperledger-fabric

配置对等节点运行时,示例docker-compose文件中包含许多环境变量。有什么地方我可以发现它们都有记录吗?

e.g。

environment:
  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
  - CORE_PEER_ID=peer0.org1.example.com
  - CORE_LOGGING_PEER=debug
  - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
  - CORE_PEER_LOCALMSPID=Org1MSP
  - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
  - CORE_PEER_ADDRESS=peer0.org1.example.com:7051

3 个答案:

答案 0 :(得分:4)

Hyperledger Fabric提供了一个名为 core.yaml 的配置文件,您可以在文件夹/ etc / hyperledger / fabric /

上找到在对等容器内

Fabric使用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字符串前缀的环境变量中寻找所有配置键。

现在,如果我们在示例配置中查看peer section(已更新):

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

请注意,只有在同伴开始之前导出时才会生效。

答案 1 :(得分:2)

Hyperledger Fabric提供sample configuration file,基本上包含peer组件的所有可能属性。当然,您需要使用以下公式将yaml属性转换为相应的环境变量名称:

foo:

    bar: baz

变为CORE_FOO_BAR=baz

这同样适用于orderer组件,该组件拥有自己的sample configuration file

答案 2 :(得分:0)

环境实际上是core.yaml中的项目,替换“。”用“_”