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

8

在配置对等节点运行时,示例docker-compose文件中包含许多环境变量。我能否找到它们的所有文档记录?

例如:

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
4个回答

6

Hyperledger Fabric提供了一个名为core.yaml的配置文件,您可以在/ etc / hyperledger / fabric /文件夹中的peer容器内找到它。

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部分

peer:            
    id: jdoe            
    networkId: dev    
    listenAddress: 0.0.0.0:7051    
    address: 0.0.0.0:7051

任何这些值都可以通过导出相应的环境变量进行覆盖,例如peer network 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

请注意,只有在对等体启动之前进行导出才会生效。

3

Hyperledger Fabric 提供了一个示例配置文件core.yaml,其中包含了 peer 组件的所有可能属性。当然,您需要使用以下公式将 yaml 属性转换为对应的环境变量名称:

foo:

    bar: baz

变成 CORE_FOO_BAR=baz

orderer 组件同样适用,它有自己的示例配置文件


2
那个链接已经失效了。新链接:https://github.com/hyperledger/fabric/blob/master/sampleconfig/core.yaml - Marcello Romani
数组的格式是什么?externalBuilders: [] - shellakkshellu
逗号分隔值 - Ashwani Agarwal

1

一些环境变量可以在官方文档的二进制文件环境变量部分找到。

peer 环境变量

CORE_PEER_TLS_ENABLED=true
CORE_PEER_GOSSIP_USELEADERELECTION=true
CORE_PEER_GOSSIP_ORGLEADER=false
CORE_PEER_PROFILE_ENABLED=true
CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
CORE_PEER_ID=peer0.org1.example.com
CORE_PEER_ADDRESS=peer0.org1.example.com:7051
CORE_PEER_LISTENADDRESS=0.0.0.0:7051
CORE_PEER_CHAINCODEADDRESS=peer0.org1.example.com:7052
CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052
CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
CORE_PEER_LOCALMSPID=Org1MSP

排序节点变量

ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
ORDERER_GENERAL_GENESISMETHOD=file
ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block
ORDERER_GENERAL_LOCALMSPID=OrdererMSP
ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
ORDERER_GENERAL_TLS_ENABLED=true
ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
ORDERER_GENERAL_CLUSTER_CLIENTCERTIFICATE=/var/hyperledger/orderer/tls/server.crt
ORDERER_GENERAL_CLUSTER_CLIENTPRIVATEKEY=/var/hyperledger/orderer/tls/server.key
ORDERER_GENERAL_CLUSTER_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接