github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/scripts/confix/testdata/v34-config.toml (about) 1 # This is a TOML config file. 2 # For more information, see https://github.com/toml-lang/toml 3 4 # NOTE: Any path below can be absolute (e.g. "/var/myawesomeapp/data") or 5 # relative to the home directory (e.g. "data"). The home directory is 6 # "$HOME/.tendermint" by default, but could be changed via $TMHOME env variable 7 # or --home cmd flag. 8 9 ####################################################################### 10 ### Main Base Config Options ### 11 ####################################################################### 12 13 # TCP or UNIX socket address of the ABCI application, 14 # or the name of an ABCI application compiled in with the Tendermint binary 15 proxy_app = "tcp://127.0.0.1:26658" 16 17 # A custom human readable name for this node 18 moniker = "localhost" 19 20 # If this node is many blocks behind the tip of the chain, FastSync 21 # allows them to catchup quickly by downloading blocks in parallel 22 # and verifying their commits 23 fast_sync = true 24 25 # Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb 26 # * goleveldb (github.com/syndtr/goleveldb - most popular implementation) 27 # - pure go 28 # - stable 29 # * cleveldb (uses levigo wrapper) 30 # - fast 31 # - requires gcc 32 # - use cleveldb build tag (go build -tags cleveldb) 33 # * boltdb (uses etcd's fork of bolt - github.com/etcd-io/bbolt) 34 # - EXPERIMENTAL 35 # - may be faster is some use-cases (random reads - indexer) 36 # - use boltdb build tag (go build -tags boltdb) 37 # * rocksdb (uses github.com/tecbot/gorocksdb) 38 # - EXPERIMENTAL 39 # - requires gcc 40 # - use rocksdb build tag (go build -tags rocksdb) 41 # * badgerdb (uses github.com/dgraph-io/badger) 42 # - EXPERIMENTAL 43 # - use badgerdb build tag (go build -tags badgerdb) 44 db_backend = "goleveldb" 45 46 # Database directory 47 db_dir = "data" 48 49 # Output level for logging, including package level options 50 log_level = "info" 51 52 # Output format: 'plain' (colored text) or 'json' 53 log_format = "plain" 54 55 ##### additional base config options ##### 56 57 # Path to the JSON file containing the initial validator set and other meta data 58 genesis_file = "config/genesis.json" 59 60 # Path to the JSON file containing the private key to use as a validator in the consensus protocol 61 priv_validator_key_file = "config/priv_validator_key.json" 62 63 # Path to the JSON file containing the last sign state of a validator 64 priv_validator_state_file = "data/priv_validator_state.json" 65 66 # TCP or UNIX socket address for Tendermint to listen on for 67 # connections from an external PrivValidator process 68 priv_validator_laddr = "" 69 70 # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 71 node_key_file = "config/node_key.json" 72 73 # Mechanism to connect to the ABCI application: socket | grpc 74 abci = "socket" 75 76 # If true, query the ABCI app on connecting to a new peer 77 # so the app can decide if we should keep the connection or not 78 filter_peers = false 79 80 81 ####################################################################### 82 ### Advanced Configuration Options ### 83 ####################################################################### 84 85 ####################################################### 86 ### RPC Server Configuration Options ### 87 ####################################################### 88 [rpc] 89 90 # TCP or UNIX socket address for the RPC server to listen on 91 laddr = "tcp://127.0.0.1:26657" 92 93 # A list of origins a cross-domain request can be executed from 94 # Default value '[]' disables cors support 95 # Use '["*"]' to allow any origin 96 cors_allowed_origins = [] 97 98 # A list of methods the client is allowed to use with cross-domain requests 99 cors_allowed_methods = ["HEAD", "GET", "POST", ] 100 101 # A list of non simple headers the client is allowed to use with cross-domain requests 102 cors_allowed_headers = ["Origin", "Accept", "Content-Type", "X-Requested-With", "X-Server-Time", ] 103 104 # TCP or UNIX socket address for the gRPC server to listen on 105 # NOTE: This server only supports /broadcast_tx_commit 106 grpc_laddr = "" 107 108 # Maximum number of simultaneous connections. 109 # Does not include RPC (HTTP&WebSocket) connections. See max_open_connections 110 # If you want to accept a larger number than the default, make sure 111 # you increase your OS limits. 112 # 0 - unlimited. 113 # Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} 114 # 1024 - 40 - 10 - 50 = 924 = ~900 115 grpc_max_open_connections = 900 116 117 # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool 118 unsafe = false 119 120 # Maximum number of simultaneous connections (including WebSocket). 121 # Does not include gRPC connections. See grpc_max_open_connections 122 # If you want to accept a larger number than the default, make sure 123 # you increase your OS limits. 124 # 0 - unlimited. 125 # Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} 126 # 1024 - 40 - 10 - 50 = 924 = ~900 127 max_open_connections = 900 128 129 # Maximum number of unique clientIDs that can /subscribe 130 # If you're using /broadcast_tx_commit, set to the estimated maximum number 131 # of broadcast_tx_commit calls per block. 132 max_subscription_clients = 100 133 134 # Maximum number of unique queries a given client can /subscribe to 135 # If you're using GRPC (or Local RPC client) and /broadcast_tx_commit, set to 136 # the estimated # maximum number of broadcast_tx_commit calls per block. 137 max_subscriptions_per_client = 5 138 139 # Experimental parameter to specify the maximum number of events a node will 140 # buffer, per subscription, before returning an error and closing the 141 # subscription. Must be set to at least 100, but higher values will accommodate 142 # higher event throughput rates (and will use more memory). 143 experimental_subscription_buffer_size = 200 144 145 # Experimental parameter to specify the maximum number of RPC responses that 146 # can be buffered per WebSocket client. If clients cannot read from the 147 # WebSocket endpoint fast enough, they will be disconnected, so increasing this 148 # parameter may reduce the chances of them being disconnected (but will cause 149 # the node to use more memory). 150 # 151 # Must be at least the same as "experimental_subscription_buffer_size", 152 # otherwise connections could be dropped unnecessarily. This value should 153 # ideally be somewhat higher than "experimental_subscription_buffer_size" to 154 # accommodate non-subscription-related RPC responses. 155 experimental_websocket_write_buffer_size = 200 156 157 # If a WebSocket client cannot read fast enough, at present we may 158 # silently drop events instead of generating an error or disconnecting the 159 # client. 160 # 161 # Enabling this experimental parameter will cause the WebSocket connection to 162 # be closed instead if it cannot read fast enough, allowing for greater 163 # predictability in subscription behaviour. 164 experimental_close_on_slow_client = false 165 166 # How long to wait for a tx to be committed during /broadcast_tx_commit. 167 # WARNING: Using a value larger than 10s will result in increasing the 168 # global HTTP write timeout, which applies to all connections and endpoints. 169 # See https://github.com/tendermint/tendermint/issues/3435 170 timeout_broadcast_tx_commit = "10s" 171 172 # Maximum size of request body, in bytes 173 max_body_bytes = 1000000 174 175 # Maximum size of request header, in bytes 176 max_header_bytes = 1048576 177 178 # The path to a file containing certificate that is used to create the HTTPS server. 179 # Might be either absolute path or path related to Tendermint's config directory. 180 # If the certificate is signed by a certificate authority, 181 # the certFile should be the concatenation of the server's certificate, any intermediates, 182 # and the CA's certificate. 183 # NOTE: both tls_cert_file and tls_key_file must be present for Tendermint to create HTTPS server. 184 # Otherwise, HTTP server is run. 185 tls_cert_file = "" 186 187 # The path to a file containing matching private key that is used to create the HTTPS server. 188 # Might be either absolute path or path related to Tendermint's config directory. 189 # NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. 190 # Otherwise, HTTP server is run. 191 tls_key_file = "" 192 193 # pprof listen address (https://golang.org/pkg/net/http/pprof) 194 pprof_laddr = "" 195 196 ####################################################### 197 ### P2P Configuration Options ### 198 ####################################################### 199 [p2p] 200 201 # Address to listen for incoming connections 202 laddr = "tcp://0.0.0.0:26656" 203 204 # Address to advertise to peers for them to dial 205 # If empty, will use the same port as the laddr, 206 # and will introspect on the listener or use UPnP 207 # to figure out the address. ip and port are required 208 # example: 159.89.10.97:26656 209 external_address = "" 210 211 # Comma separated list of seed nodes to connect to 212 seeds = "" 213 214 # Comma separated list of nodes to keep persistent connections to 215 persistent_peers = "" 216 217 # UPNP port forwarding 218 upnp = false 219 220 # Path to address book 221 addr_book_file = "config/addrbook.json" 222 223 # Set true for strict address routability rules 224 # Set false for private or local networks 225 addr_book_strict = true 226 227 # Maximum number of inbound peers 228 max_num_inbound_peers = 40 229 230 # Maximum number of outbound peers to connect to, excluding persistent peers 231 max_num_outbound_peers = 10 232 233 # List of node IDs, to which a connection will be (re)established ignoring any existing limits 234 unconditional_peer_ids = "" 235 236 # Maximum pause when redialing a persistent peer (if zero, exponential backoff is used) 237 persistent_peers_max_dial_period = "0s" 238 239 # Time to wait before flushing messages out on the connection 240 flush_throttle_timeout = "100ms" 241 242 # Maximum size of a message packet payload, in bytes 243 max_packet_msg_payload_size = 1024 244 245 # Rate at which packets can be sent, in bytes/second 246 send_rate = 5120000 247 248 # Rate at which packets can be received, in bytes/second 249 recv_rate = 5120000 250 251 # Set true to enable the peer-exchange reactor 252 pex = true 253 254 # Seed mode, in which node constantly crawls the network and looks for 255 # peers. If another node asks it for addresses, it responds and disconnects. 256 # 257 # Does not work if the peer-exchange reactor is disabled. 258 seed_mode = false 259 260 # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 261 private_peer_ids = "" 262 263 # Toggle to disable guard against peers connecting from the same ip. 264 allow_duplicate_ip = false 265 266 # Peer connection configuration. 267 handshake_timeout = "20s" 268 dial_timeout = "3s" 269 270 ####################################################### 271 ### Mempool Configuration Option ### 272 ####################################################### 273 [mempool] 274 275 recheck = true 276 broadcast = true 277 wal_dir = "" 278 279 # Maximum number of transactions in the mempool 280 size = 5000 281 282 # Limit the total size of all txs in the mempool. 283 # This only accounts for raw transactions (e.g. given 1MB transactions and 284 # max_txs_bytes=5MB, mempool will only accept 5 transactions). 285 max_txs_bytes = 1073741824 286 287 # Size of the cache (used to filter transactions we saw earlier) in transactions 288 cache_size = 10000 289 290 # Do not remove invalid transactions from the cache (default: false) 291 # Set to true if it's not possible for any invalid transaction to become valid 292 # again in the future. 293 keep-invalid-txs-in-cache = false 294 295 # Maximum size of a single transaction. 296 # NOTE: the max size of a tx transmitted over the network is {max_tx_bytes}. 297 max_tx_bytes = 1048576 298 299 # Maximum size of a batch of transactions to send to a peer 300 # Including space needed by encoding (one varint per transaction). 301 # XXX: Unused due to https://github.com/tendermint/tendermint/issues/5796 302 max_batch_bytes = 0 303 304 ####################################################### 305 ### State Sync Configuration Options ### 306 ####################################################### 307 [statesync] 308 # State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine 309 # snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in 310 # the network to take and serve state machine snapshots. State sync is not attempted if the node 311 # has any local state (LastBlockHeight > 0). The node will have a truncated block history, 312 # starting from the height of the snapshot. 313 enable = false 314 315 # RPC servers (comma-separated) for light client verification of the synced state machine and 316 # retrieval of state data for node bootstrapping. Also needs a trusted height and corresponding 317 # header hash obtained from a trusted source, and a period during which validators can be trusted. 318 # 319 # For Cosmos SDK-based chains, trust_period should usually be about 2/3 of the unbonding time (~2 320 # weeks) during which they can be financially punished (slashed) for misbehavior. 321 rpc_servers = "" 322 trust_height = 0 323 trust_hash = "" 324 trust_period = "168h0m0s" 325 326 # Time to spend discovering snapshots before initiating a restore. 327 discovery_time = "15s" 328 329 # Temporary directory for state sync snapshot chunks, defaults to the OS tempdir (typically /tmp). 330 # Will create a new, randomly named directory within, and remove it when done. 331 temp_dir = "" 332 333 # The timeout duration before re-requesting a chunk, possibly from a different 334 # peer (default: 1 minute). 335 chunk_request_timeout = "10s" 336 337 # The number of concurrent chunk fetchers to run (default: 1). 338 chunk_fetchers = "4" 339 340 ####################################################### 341 ### Fast Sync Configuration Connections ### 342 ####################################################### 343 [fastsync] 344 345 # Fast Sync version to use: 346 # 1) "v0" (default) - the legacy fast sync implementation 347 # 2) "v1" - refactor of v0 version for better testability 348 # 2) "v2" - complete redesign of v0, optimized for testability & readability 349 version = "v0" 350 351 ####################################################### 352 ### Consensus Configuration Options ### 353 ####################################################### 354 [consensus] 355 356 wal_file = "data/cs.wal/wal" 357 358 # How long we wait for a proposal block before prevoting nil 359 timeout_propose = "3s" 360 # How much timeout_propose increases with each round 361 timeout_propose_delta = "500ms" 362 # How long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil) 363 timeout_prevote = "1s" 364 # How much the timeout_prevote increases with each round 365 timeout_prevote_delta = "500ms" 366 # How long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil) 367 timeout_precommit = "1s" 368 # How much the timeout_precommit increases with each round 369 timeout_precommit_delta = "500ms" 370 # How long we wait after committing a block, before starting on the new 371 # height (this gives us a chance to receive some more precommits, even 372 # though we already have +2/3). 373 timeout_commit = "1s" 374 375 # How many blocks to look back to check existence of the node's consensus votes before joining consensus 376 # When non-zero, the node will panic upon restart 377 # if the same consensus key was used to sign {double_sign_check_height} last blocks. 378 # So, validators should stop the state machine, wait for some blocks, and then restart the state machine to avoid panic. 379 double_sign_check_height = 0 380 381 # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 382 skip_timeout_commit = false 383 384 # EmptyBlocks mode and possible interval between empty blocks 385 create_empty_blocks = true 386 create_empty_blocks_interval = "0s" 387 388 # Reactor sleep duration parameters 389 peer_gossip_sleep_duration = "100ms" 390 peer_query_maj23_sleep_duration = "2s" 391 392 ####################################################### 393 ### Transaction Indexer Configuration Options ### 394 ####################################################### 395 [tx_index] 396 397 # What indexer to use for transactions 398 # 399 # The application will set which txs to index. In some cases a node operator will be able 400 # to decide which txs to index based on configuration set in the application. 401 # 402 # Options: 403 # 1) "null" 404 # 2) "kv" (default) - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 405 # - When "kv" is chosen "tx.height" and "tx.hash" will always be indexed. 406 indexer = "kv" 407 408 ####################################################### 409 ### Instrumentation Configuration Options ### 410 ####################################################### 411 [instrumentation] 412 413 # When true, Prometheus metrics are served under /metrics on 414 # PrometheusListenAddr. 415 # Check out the documentation for the list of available metrics. 416 prometheus = false 417 418 # Address to listen for Prometheus collector(s) connections 419 prometheus_listen_addr = ":26660" 420 421 # Maximum number of simultaneous connections. 422 # If you want to accept a larger number than the default, make sure 423 # you increase your OS limits. 424 # 0 - unlimited. 425 max_open_connections = 3 426 427 # Instrumentation namespace 428 namespace = "tendermint"