github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/scripts/confix/testdata/v35-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 # Mode of Node: full | validator | seed 21 # * validator node 22 # - all reactors 23 # - with priv_validator_key.json, priv_validator_state.json 24 # * full node 25 # - all reactors 26 # - No priv_validator_key.json, priv_validator_state.json 27 # * seed node 28 # - only P2P, PEX Reactor 29 # - No priv_validator_key.json, priv_validator_state.json 30 mode = "validator" 31 32 # Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb 33 # * goleveldb (github.com/syndtr/goleveldb - most popular implementation) 34 # - pure go 35 # - stable 36 # * cleveldb (uses levigo wrapper) 37 # - fast 38 # - requires gcc 39 # - use cleveldb build tag (go build -tags cleveldb) 40 # * boltdb (uses etcd's fork of bolt - github.com/etcd-io/bbolt) 41 # - EXPERIMENTAL 42 # - may be faster is some use-cases (random reads - indexer) 43 # - use boltdb build tag (go build -tags boltdb) 44 # * rocksdb (uses github.com/tecbot/gorocksdb) 45 # - EXPERIMENTAL 46 # - requires gcc 47 # - use rocksdb build tag (go build -tags rocksdb) 48 # * badgerdb (uses github.com/dgraph-io/badger) 49 # - EXPERIMENTAL 50 # - use badgerdb build tag (go build -tags badgerdb) 51 db-backend = "goleveldb" 52 53 # Database directory 54 db-dir = "data" 55 56 # Output level for logging, including package level options 57 log-level = "info" 58 59 # Output format: 'plain' (colored text) or 'json' 60 log-format = "plain" 61 62 ##### additional base config options ##### 63 64 # Path to the JSON file containing the initial validator set and other meta data 65 genesis-file = "config/genesis.json" 66 67 # Path to the JSON file containing the private key to use for node authentication in the p2p protocol 68 node-key-file = "config/node_key.json" 69 70 # Mechanism to connect to the ABCI application: socket | grpc 71 abci = "socket" 72 73 # If true, query the ABCI app on connecting to a new peer 74 # so the app can decide if we should keep the connection or not 75 filter-peers = false 76 77 78 ####################################################### 79 ### Priv Validator Configuration ### 80 ####################################################### 81 [priv-validator] 82 83 # Path to the JSON file containing the private key to use as a validator in the consensus protocol 84 key-file = "config/priv_validator_key.json" 85 86 # Path to the JSON file containing the last sign state of a validator 87 state-file = "data/priv_validator_state.json" 88 89 # TCP or UNIX socket address for Tendermint to listen on for 90 # connections from an external PrivValidator process 91 # when the listenAddr is prefixed with grpc instead of tcp it will use the gRPC Client 92 laddr = "" 93 94 # Path to the client certificate generated while creating needed files for secure connection. 95 # If a remote validator address is provided but no certificate, the connection will be insecure 96 client-certificate-file = "" 97 98 # Client key generated while creating certificates for secure connection 99 client-key-file = "" 100 101 # Path to the Root Certificate Authority used to sign both client and server certificates 102 root-ca-file = "" 103 104 105 ####################################################################### 106 ### Advanced Configuration Options ### 107 ####################################################################### 108 109 ####################################################### 110 ### RPC Server Configuration Options ### 111 ####################################################### 112 [rpc] 113 114 # TCP or UNIX socket address for the RPC server to listen on 115 laddr = "tcp://127.0.0.1:26657" 116 117 # A list of origins a cross-domain request can be executed from 118 # Default value '[]' disables cors support 119 # Use '["*"]' to allow any origin 120 cors-allowed-origins = [] 121 122 # A list of methods the client is allowed to use with cross-domain requests 123 cors-allowed-methods = ["HEAD", "GET", "POST", ] 124 125 # A list of non simple headers the client is allowed to use with cross-domain requests 126 cors-allowed-headers = ["Origin", "Accept", "Content-Type", "X-Requested-With", "X-Server-Time", ] 127 128 # TCP or UNIX socket address for the gRPC server to listen on 129 # NOTE: This server only supports /broadcast_tx_commit 130 # Deprecated gRPC in the RPC layer of Tendermint will be deprecated in 0.36. 131 grpc-laddr = "" 132 133 # Maximum number of simultaneous connections. 134 # Does not include RPC (HTTP&WebSocket) connections. See max-open-connections 135 # If you want to accept a larger number than the default, make sure 136 # you increase your OS limits. 137 # 0 - unlimited. 138 # Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} 139 # 1024 - 40 - 10 - 50 = 924 = ~900 140 # Deprecated gRPC in the RPC layer of Tendermint will be deprecated in 0.36. 141 grpc-max-open-connections = 900 142 143 # Activate unsafe RPC commands like /dial-seeds and /unsafe-flush-mempool 144 unsafe = false 145 146 # Maximum number of simultaneous connections (including WebSocket). 147 # Does not include gRPC connections. See grpc-max-open-connections 148 # If you want to accept a larger number than the default, make sure 149 # you increase your OS limits. 150 # 0 - unlimited. 151 # Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} 152 # 1024 - 40 - 10 - 50 = 924 = ~900 153 max-open-connections = 900 154 155 # Maximum number of unique clientIDs that can /subscribe 156 # If you're using /broadcast_tx_commit, set to the estimated maximum number 157 # of broadcast_tx_commit calls per block. 158 max-subscription-clients = 100 159 160 # Maximum number of unique queries a given client can /subscribe to 161 # If you're using GRPC (or Local RPC client) and /broadcast_tx_commit, set to 162 # the estimated # maximum number of broadcast_tx_commit calls per block. 163 max-subscriptions-per-client = 5 164 165 # Experimental parameter to specify the maximum number of events a node will 166 # buffer, per subscription, before returning an error and closing the 167 # subscription. Must be set to at least 100, but higher values will accommodate 168 # higher event throughput rates (and will use more memory). 169 experimental-subscription-buffer-size = 200 170 171 # Experimental parameter to specify the maximum number of RPC responses that 172 # can be buffered per WebSocket client. If clients cannot read from the 173 # WebSocket endpoint fast enough, they will be disconnected, so increasing this 174 # parameter may reduce the chances of them being disconnected (but will cause 175 # the node to use more memory). 176 # 177 # Must be at least the same as "experimental-subscription-buffer-size", 178 # otherwise connections could be dropped unnecessarily. This value should 179 # ideally be somewhat higher than "experimental-subscription-buffer-size" to 180 # accommodate non-subscription-related RPC responses. 181 experimental-websocket-write-buffer-size = 200 182 183 # If a WebSocket client cannot read fast enough, at present we may 184 # silently drop events instead of generating an error or disconnecting the 185 # client. 186 # 187 # Enabling this experimental parameter will cause the WebSocket connection to 188 # be closed instead if it cannot read fast enough, allowing for greater 189 # predictability in subscription behavior. 190 experimental-close-on-slow-client = false 191 192 # How long to wait for a tx to be committed during /broadcast_tx_commit. 193 # WARNING: Using a value larger than 10s will result in increasing the 194 # global HTTP write timeout, which applies to all connections and endpoints. 195 # See https://github.com/tendermint/tendermint/issues/3435 196 timeout-broadcast-tx-commit = "10s" 197 198 # Maximum size of request body, in bytes 199 max-body-bytes = 1000000 200 201 # Maximum size of request header, in bytes 202 max-header-bytes = 1048576 203 204 # The path to a file containing certificate that is used to create the HTTPS server. 205 # Might be either absolute path or path related to Tendermint's config directory. 206 # If the certificate is signed by a certificate authority, 207 # the certFile should be the concatenation of the server's certificate, any intermediates, 208 # and the CA's certificate. 209 # NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. 210 # Otherwise, HTTP server is run. 211 tls-cert-file = "" 212 213 # The path to a file containing matching private key that is used to create the HTTPS server. 214 # Might be either absolute path or path related to Tendermint's config directory. 215 # NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. 216 # Otherwise, HTTP server is run. 217 tls-key-file = "" 218 219 # pprof listen address (https://golang.org/pkg/net/http/pprof) 220 pprof-laddr = "" 221 222 ####################################################### 223 ### P2P Configuration Options ### 224 ####################################################### 225 [p2p] 226 227 # Enable the legacy p2p layer. 228 use-legacy = false 229 230 # Select the p2p internal queue 231 queue-type = "priority" 232 233 # Address to listen for incoming connections 234 laddr = "tcp://0.0.0.0:26656" 235 236 # Address to advertise to peers for them to dial 237 # If empty, will use the same port as the laddr, 238 # and will introspect on the listener or use UPnP 239 # to figure out the address. ip and port are required 240 # example: 159.89.10.97:26656 241 external-address = "" 242 243 # Comma separated list of seed nodes to connect to 244 # We only use these if we can’t connect to peers in the addrbook 245 # NOTE: not used by the new PEX reactor. Please use BootstrapPeers instead. 246 # TODO: Remove once p2p refactor is complete 247 # ref: https:#github.com/tendermint/tendermint/issues/5670 248 seeds = "" 249 250 # Comma separated list of peers to be added to the peer store 251 # on startup. Either BootstrapPeers or PersistentPeers are 252 # needed for peer discovery 253 bootstrap-peers = "" 254 255 # Comma separated list of nodes to keep persistent connections to 256 persistent-peers = "" 257 258 # UPNP port forwarding 259 upnp = false 260 261 # Path to address book 262 # TODO: Remove once p2p refactor is complete in favor of peer store. 263 addr-book-file = "config/addrbook.json" 264 265 # Set true for strict address routability rules 266 # Set false for private or local networks 267 addr-book-strict = true 268 269 # Maximum number of inbound peers 270 # 271 # TODO: Remove once p2p refactor is complete in favor of MaxConnections. 272 # ref: https://github.com/tendermint/tendermint/issues/5670 273 max-num-inbound-peers = 40 274 275 # Maximum number of outbound peers to connect to, excluding persistent peers 276 # 277 # TODO: Remove once p2p refactor is complete in favor of MaxConnections. 278 # ref: https://github.com/tendermint/tendermint/issues/5670 279 max-num-outbound-peers = 10 280 281 # Maximum number of connections (inbound and outbound). 282 max-connections = 64 283 284 # Rate limits the number of incoming connection attempts per IP address. 285 max-incoming-connection-attempts = 100 286 287 # List of node IDs, to which a connection will be (re)established ignoring any existing limits 288 # TODO: Remove once p2p refactor is complete. 289 # ref: https://github.com/tendermint/tendermint/issues/5670 290 unconditional-peer-ids = "" 291 292 # Maximum pause when redialing a persistent peer (if zero, exponential backoff is used) 293 # TODO: Remove once p2p refactor is complete 294 # ref: https:#github.com/tendermint/tendermint/issues/5670 295 persistent-peers-max-dial-period = "0s" 296 297 # Time to wait before flushing messages out on the connection 298 # TODO: Remove once p2p refactor is complete 299 # ref: https:#github.com/tendermint/tendermint/issues/5670 300 flush-throttle-timeout = "100ms" 301 302 # Maximum size of a message packet payload, in bytes 303 # TODO: Remove once p2p refactor is complete 304 # ref: https:#github.com/tendermint/tendermint/issues/5670 305 max-packet-msg-payload-size = 1400 306 307 # Rate at which packets can be sent, in bytes/second 308 # TODO: Remove once p2p refactor is complete 309 # ref: https:#github.com/tendermint/tendermint/issues/5670 310 send-rate = 5120000 311 312 # Rate at which packets can be received, in bytes/second 313 # TODO: Remove once p2p refactor is complete 314 # ref: https:#github.com/tendermint/tendermint/issues/5670 315 recv-rate = 5120000 316 317 # Set true to enable the peer-exchange reactor 318 pex = true 319 320 # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 321 # Warning: IPs will be exposed at /net_info, for more information https://github.com/tendermint/tendermint/issues/3055 322 private-peer-ids = "" 323 324 # Toggle to disable guard against peers connecting from the same ip. 325 allow-duplicate-ip = false 326 327 # Peer connection configuration. 328 handshake-timeout = "20s" 329 dial-timeout = "3s" 330 331 ####################################################### 332 ### Mempool Configuration Option ### 333 ####################################################### 334 [mempool] 335 336 # Mempool version to use: 337 # 1) "v0" - The legacy non-prioritized mempool reactor. 338 # 2) "v1" (default) - The prioritized mempool reactor. 339 version = "v1" 340 341 recheck = true 342 broadcast = true 343 344 # Maximum number of transactions in the mempool 345 size = 5000 346 347 # Limit the total size of all txs in the mempool. 348 # This only accounts for raw transactions (e.g. given 1MB transactions and 349 # max-txs-bytes=5MB, mempool will only accept 5 transactions). 350 max-txs-bytes = 1073741824 351 352 # Size of the cache (used to filter transactions we saw earlier) in transactions 353 cache-size = 10000 354 355 # Do not remove invalid transactions from the cache (default: false) 356 # Set to true if it's not possible for any invalid transaction to become valid 357 # again in the future. 358 keep-invalid-txs-in-cache = false 359 360 # Maximum size of a single transaction. 361 # NOTE: the max size of a tx transmitted over the network is {max-tx-bytes}. 362 max-tx-bytes = 1048576 363 364 # Maximum size of a batch of transactions to send to a peer 365 # Including space needed by encoding (one varint per transaction). 366 # XXX: Unused due to https://github.com/tendermint/tendermint/issues/5796 367 max-batch-bytes = 0 368 369 # ttl-duration, if non-zero, defines the maximum amount of time a transaction 370 # can exist for in the mempool. 371 # 372 # Note, if ttl-num-blocks is also defined, a transaction will be removed if it 373 # has existed in the mempool at least ttl-num-blocks number of blocks or if it's 374 # insertion time into the mempool is beyond ttl-duration. 375 ttl-duration = "0s" 376 377 # ttl-num-blocks, if non-zero, defines the maximum number of blocks a transaction 378 # can exist for in the mempool. 379 # 380 # Note, if ttl-duration is also defined, a transaction will be removed if it 381 # has existed in the mempool at least ttl-num-blocks number of blocks or if 382 # it's insertion time into the mempool is beyond ttl-duration. 383 ttl-num-blocks = 0 384 385 ####################################################### 386 ### State Sync Configuration Options ### 387 ####################################################### 388 [statesync] 389 # State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine 390 # snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in 391 # the network to take and serve state machine snapshots. State sync is not attempted if the node 392 # has any local state (LastBlockHeight > 0). The node will have a truncated block history, 393 # starting from the height of the snapshot. 394 enable = false 395 396 # State sync uses light client verification to verify state. This can be done either through the 397 # P2P layer or RPC layer. Set this to true to use the P2P layer. If false (default), RPC layer 398 # will be used. 399 use-p2p = false 400 401 # If using RPC, at least two addresses need to be provided. They should be compatible with net.Dial, 402 # for example: "host.example.com:2125" 403 rpc-servers = "" 404 405 # The hash and height of a trusted block. Must be within the trust-period. 406 trust-height = 0 407 trust-hash = "" 408 409 # The trust period should be set so that Tendermint can detect and gossip misbehavior before 410 # it is considered expired. For chains based on the Cosmos SDK, one day less than the unbonding 411 # period should suffice. 412 trust-period = "168h0m0s" 413 414 # Time to spend discovering snapshots before initiating a restore. 415 discovery-time = "15s" 416 417 # Temporary directory for state sync snapshot chunks, defaults to os.TempDir(). 418 # The synchronizer will create a new, randomly named directory within this directory 419 # and remove it when the sync is complete. 420 temp-dir = "" 421 422 # The timeout duration before re-requesting a chunk, possibly from a different 423 # peer (default: 15 seconds). 424 chunk-request-timeout = "15s" 425 426 # The number of concurrent chunk and block fetchers to run (default: 4). 427 fetchers = "4" 428 429 ####################################################### 430 ### Block Sync Configuration Connections ### 431 ####################################################### 432 [blocksync] 433 434 # If this node is many blocks behind the tip of the chain, BlockSync 435 # allows them to catchup quickly by downloading blocks in parallel 436 # and verifying their commits 437 enable = true 438 439 # Block Sync version to use: 440 # 1) "v0" (default) - the standard Block Sync implementation 441 # 2) "v2" - DEPRECATED, please use v0 442 version = "v0" 443 444 ####################################################### 445 ### Consensus Configuration Options ### 446 ####################################################### 447 [consensus] 448 449 wal-file = "data/cs.wal/wal" 450 451 # How long we wait for a proposal block before prevoting nil 452 timeout-propose = "3s" 453 # How much timeout-propose increases with each round 454 timeout-propose-delta = "500ms" 455 # How long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil) 456 timeout-prevote = "1s" 457 # How much the timeout-prevote increases with each round 458 timeout-prevote-delta = "500ms" 459 # How long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil) 460 timeout-precommit = "1s" 461 # How much the timeout-precommit increases with each round 462 timeout-precommit-delta = "500ms" 463 # How long we wait after committing a block, before starting on the new 464 # height (this gives us a chance to receive some more precommits, even 465 # though we already have +2/3). 466 timeout-commit = "1s" 467 468 # How many blocks to look back to check existence of the node's consensus votes before joining consensus 469 # When non-zero, the node will panic upon restart 470 # if the same consensus key was used to sign {double-sign-check-height} last blocks. 471 # So, validators should stop the state machine, wait for some blocks, and then restart the state machine to avoid panic. 472 double-sign-check-height = 0 473 474 # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) 475 skip-timeout-commit = false 476 477 # EmptyBlocks mode and possible interval between empty blocks 478 create-empty-blocks = true 479 create-empty-blocks-interval = "0s" 480 481 # Reactor sleep duration parameters 482 peer-gossip-sleep-duration = "100ms" 483 peer-query-maj23-sleep-duration = "2s" 484 485 ####################################################### 486 ### Transaction Indexer Configuration Options ### 487 ####################################################### 488 [tx-index] 489 490 # The backend database list to back the indexer. 491 # If list contains "null" or "", meaning no indexer service will be used. 492 # 493 # The application will set which txs to index. In some cases a node operator will be able 494 # to decide which txs to index based on configuration set in the application. 495 # 496 # Options: 497 # 1) "null" 498 # 2) "kv" (default) - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). 499 # 3) "psql" - the indexer services backed by PostgreSQL. 500 # When "kv" or "psql" is chosen "tx.height" and "tx.hash" will always be indexed. 501 indexer = ["kv"] 502 503 # The PostgreSQL connection configuration, the connection format: 504 # postgresql://<user>:<password>@<host>:<port>/<db>?<opts> 505 psql-conn = "" 506 507 ####################################################### 508 ### Instrumentation Configuration Options ### 509 ####################################################### 510 [instrumentation] 511 512 # When true, Prometheus metrics are served under /metrics on 513 # PrometheusListenAddr. 514 # Check out the documentation for the list of available metrics. 515 prometheus = false 516 517 # Address to listen for Prometheus collector(s) connections 518 prometheus-listen-addr = ":26660" 519 520 # Maximum number of simultaneous connections. 521 # If you want to accept a larger number than the default, make sure 522 # you increase your OS limits. 523 # 0 - unlimited. 524 max-open-connections = 3 525 526 # Instrumentation namespace 527 namespace = "tendermint"