github.com/kchristidis/fabric@v1.0.4-0.20171028114726-837acd08cde1/sampleconfig/orderer.yaml (about) 1 # Copyright IBM Corp. All Rights Reserved. 2 # 3 # SPDX-License-Identifier: Apache-2.0 4 # 5 6 --- 7 ################################################################################ 8 # 9 # Orderer Configuration 10 # 11 # - This controls the type and configuration of the orderer. 12 # 13 ################################################################################ 14 General: 15 16 # Ledger Type: The ledger type to provide to the orderer. 17 # Two non-production ledger types are provided for test purposes only: 18 # - ram: An in-memory ledger whose contents are lost on restart. 19 # - json: A simple file ledger that writes blocks to disk in JSON format. 20 # Only one production ledger type is provided: 21 # - file: A production file-based ledger. 22 LedgerType: file 23 24 # Listen address: The IP on which to bind to listen. 25 ListenAddress: 127.0.0.1 26 27 # Listen port: The port on which to bind to listen. 28 ListenPort: 7050 29 30 # TLS: TLS settings for the GRPC server. 31 TLS: 32 Enabled: false 33 PrivateKey: tls/server.key 34 Certificate: tls/server.crt 35 RootCAs: 36 - tls/ca.crt 37 ClientAuthEnabled: false 38 ClientRootCAs: 39 40 # Log Level: The level at which to log. This accepts logging specifications 41 # per: fabric/docs/Setup/logging-control.md 42 LogLevel: info 43 44 # Log Format: The format string to use when logging. Especially useful to disable color logging 45 LogFormat: '%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}' 46 47 # Genesis method: The method by which the genesis block for the orderer 48 # system channel is specified. Available options are "provisional", "file": 49 # - provisional: Utilizes a genesis profile, specified by GenesisProfile, 50 # to dynamically generate a new genesis block. 51 # - file: Uses the file provided by GenesisFile as the genesis block. 52 GenesisMethod: provisional 53 54 # Genesis profile: The profile to use to dynamically generate the genesis 55 # block to use when initializing the orderer system channel and 56 # GenesisMethod is set to "provisional". See the configtx.yaml file for the 57 # descriptions of the available profiles. Ignored if GenesisMethod is set to 58 # "file". 59 GenesisProfile: SampleInsecureSolo 60 61 # Genesis file: The file containing the genesis block to use when 62 # initializing the orderer system channel and GenesisMethod is set to 63 # "file". Ignored if GenesisMethod is set to "provisional". 64 GenesisFile: genesisblock 65 66 # LocalMSPDir is where to find the private crypto material needed by the 67 # orderer. It is set relative here as a default for dev environments but 68 # should be changed to the real location in production. 69 LocalMSPDir: msp 70 71 # LocalMSPID is the identity to register the local MSP material with the MSP 72 # manager. IMPORTANT: The local MSP ID of an orderer needs to match the MSP 73 # ID of one of the organizations defined in the orderer system channel's 74 # /Channel/Orderer configuration. The sample organization defined in the 75 # sample configuration provided has an MSP ID of "DEFAULT". 76 LocalMSPID: DEFAULT 77 78 # Enable an HTTP service for Go "pprof" profiling as documented at: 79 # https://golang.org/pkg/net/http/pprof 80 Profile: 81 Enabled: false 82 Address: 0.0.0.0:6060 83 84 # BCCSP configures the blockchain crypto service providers. 85 BCCSP: 86 # Default specifies the preferred blockchain crypto service provider 87 # to use. If the preferred provider is not available, the software 88 # based provider ("SW") will be used. 89 # Valid providers are: 90 # - SW: a software based crypto provider 91 # - PKCS11: a CA hardware security module crypto provider. 92 Default: SW 93 94 # SW configures the software based blockchain crypto provider. 95 SW: 96 # TODO: The default Hash and Security level needs refactoring to be 97 # fully configurable. Changing these defaults requires coordination 98 # SHA2 is hardcoded in several places, not only BCCSP 99 Hash: SHA2 100 Security: 256 101 # Location of key store. If this is unset, a location will be 102 # chosen using: 'LocalMSPDir'/keystore 103 FileKeyStore: 104 KeyStore: 105 106 ################################################################################ 107 # 108 # SECTION: File Ledger 109 # 110 # - This section applies to the configuration of the file or json ledgers. 111 # 112 ################################################################################ 113 FileLedger: 114 115 # Location: The directory to store the blocks in. 116 # NOTE: If this is unset, a new temporary location will be chosen every time 117 # the orderer is restarted, using the prefix specified by Prefix. 118 Location: /var/hyperledger/production/orderer 119 120 # The prefix to use when generating a ledger directory in temporary space. 121 # Otherwise, this value is ignored. 122 Prefix: hyperledger-fabric-ordererledger 123 124 ################################################################################ 125 # 126 # SECTION: RAM Ledger 127 # 128 # - This section applies to the configuration of the RAM ledger. 129 # 130 ################################################################################ 131 RAMLedger: 132 133 # History Size: The number of blocks that the RAM ledger is set to retain. 134 # WARNING: Appending a block to the ledger might cause the oldest block in 135 # the ledger to be dropped in order to limit the number total number blocks 136 # to HistorySize. For example, if history size is 10, when appending block 137 # 10, block 0 (the genesis block!) will be dropped to make room for block 10. 138 HistorySize: 1000 139 140 ################################################################################ 141 # 142 # SECTION: Kafka 143 # 144 # - This section applies to the configuration of the Kafka-based orderer, and 145 # its interaction with the Kafka cluster. 146 # 147 ################################################################################ 148 Kafka: 149 150 # Retry: What do if a connection to the Kafka cluster cannot be established, 151 # or if a metadata request to the Kafka cluster needs to be repeated. 152 Retry: 153 # When a new channel is created, or when an existing channel is reloaded 154 # (in case of a just-restarted orderer), the orderer interacts with the 155 # Kafka cluster in the following ways: 156 # 1. It creates a Kafka producer (writer) for the Kafka partition that 157 # corresponds to the channel. 158 # 2. It uses that producer to post a no-op CONNECT message to that 159 # partition 160 # 3. It creates a Kafka consumer (reader) for that partition. 161 # If any of these steps fail, they will be re-attempted every 162 # <ShortInterval> for a total of <ShortTotal>, and then every 163 # <LongInterval> for a total of <LongTotal> until they succeed. 164 # Note that the orderer will be unable to write to or read from a 165 # channel until all of the steps above have been completed successfully. 166 ShortInterval: 5s 167 ShortTotal: 10m 168 LongInterval: 5m 169 LongTotal: 12h 170 # Affects the socket timeouts when waiting for an initial connection, a 171 # response, or a transmission. See Config.Net for more info: 172 # https://godoc.org/github.com/Shopify/sarama#Config 173 NetworkTimeouts: 174 DialTimeout: 10s 175 ReadTimeout: 10s 176 WriteTimeout: 10s 177 # Affects the metadata requests when the Kafka cluster is in the middle 178 # of a leader election.See Config.Metadata for more info: 179 # https://godoc.org/github.com/Shopify/sarama#Config 180 Metadata: 181 RetryBackoff: 250ms 182 RetryMax: 3 183 # What to do if posting a message to the Kafka cluster fails. See 184 # Config.Producer for more info: 185 # https://godoc.org/github.com/Shopify/sarama#Config 186 Producer: 187 RetryBackoff: 100ms 188 RetryMax: 3 189 # What to do if reading from the Kafka cluster fails. See 190 # Config.Consumer for more info: 191 # https://godoc.org/github.com/Shopify/sarama#Config 192 Consumer: 193 RetryBackoff: 2s 194 195 # Verbose: Enable logging for interactions with the Kafka cluster. 196 Verbose: false 197 198 # TLS: TLS settings for the orderer's connection to the Kafka cluster. 199 TLS: 200 201 # Enabled: Use TLS when connecting to the Kafka cluster. 202 Enabled: false 203 204 # PrivateKey: PEM-encoded private key the orderer will use for 205 # authentication. 206 PrivateKey: 207 # As an alternative to specifying the PrivateKey here, uncomment the 208 # following "File" key and specify the file name from which to load the 209 # value of PrivateKey. 210 #File: path/to/PrivateKey 211 212 # Certificate: PEM-encoded signed public key certificate the orderer will 213 # use for authentication. 214 Certificate: 215 # As an alternative to specifying the Certificate here, uncomment the 216 # following "File" key and specify the file name from which to load the 217 # value of Certificate. 218 #File: path/to/Certificate 219 220 # RootCAs: PEM-encoded trusted root certificates used to validate 221 # certificates from the Kafka cluster. 222 RootCAs: 223 # As an alternative to specifying the RootCAs here, uncomment the 224 # following "File" key and specify the file name from which to load the 225 # value of RootCAs. 226 #File: path/to/RootCAs 227 228 # Kafka version of the Kafka cluster brokers (defaults to 0.9.0.1) 229 Version: