github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/scripts/confix/testdata/v36-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 # Activate unsafe RPC commands like /dial-seeds and /unsafe-flush-mempool 129 unsafe = false 130 131 # Maximum number of simultaneous connections (including WebSocket). 132 # If you want to accept a larger number than the default, make sure 133 # you increase your OS limits. 134 # 0 - unlimited. 135 # Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} 136 # 1024 - 40 - 10 - 50 = 924 = ~900 137 max-open-connections = 900 138 139 # Maximum number of unique clientIDs that can /subscribe 140 # If you're using /broadcast_tx_commit, set to the estimated maximum number 141 # of broadcast_tx_commit calls per block. 142 max-subscription-clients = 100 143 144 # Maximum number of unique queries a given client can /subscribe to 145 # If you're using a Local RPC client and /broadcast_tx_commit, set this 146 # to the estimated maximum number of broadcast_tx_commit calls per block. 147 max-subscriptions-per-client = 5 148 149 # If true, disable the websocket interface to the RPC service. This has 150 # the effect of disabling the /subscribe, /unsubscribe, and /unsubscribe_all 151 # methods for event subscription. 152 # 153 # EXPERIMENTAL: This setting will be removed in Tendermint v0.37. 154 experimental-disable-websocket = false 155 156 # The time window size for the event log. All events up to this long before 157 # the latest (up to EventLogMaxItems) will be available for subscribers to 158 # fetch via the /events method. If 0 (the default) the event log and the 159 # /events RPC method are disabled. 160 event-log-window-size = "0s" 161 162 # The maxiumum number of events that may be retained by the event log. If 163 # this value is 0, no upper limit is set. Otherwise, items in excess of 164 # this number will be discarded from the event log. 165 # 166 # Warning: This setting is a safety valve. Setting it too low may cause 167 # subscribers to miss events. Try to choose a value higher than the 168 # maximum worst-case expected event load within the chosen window size in 169 # ordinary operation. 170 # 171 # For example, if the window size is 10 minutes and the node typically 172 # averages 1000 events per ten minutes, but with occasional known spikes of 173 # up to 2000, choose a value > 2000. 174 event-log-max-items = 0 175 176 # How long to wait for a tx to be committed during /broadcast_tx_commit. 177 # WARNING: Using a value larger than 10s will result in increasing the 178 # global HTTP write timeout, which applies to all connections and endpoints. 179 # See https://github.com/tendermint/tendermint/issues/3435 180 timeout-broadcast-tx-commit = "10s" 181 182 # Maximum size of request body, in bytes 183 max-body-bytes = 1000000 184 185 # Maximum size of request header, in bytes 186 max-header-bytes = 1048576 187 188 # The path to a file containing certificate that is used to create the HTTPS server. 189 # Might be either absolute path or path related to Tendermint's config directory. 190 # If the certificate is signed by a certificate authority, 191 # the certFile should be the concatenation of the server's certificate, any intermediates, 192 # and the CA's certificate. 193 # NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. 194 # Otherwise, HTTP server is run. 195 tls-cert-file = "" 196 197 # The path to a file containing matching private key that is used to create the HTTPS server. 198 # Might be either absolute path or path related to Tendermint's config directory. 199 # NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. 200 # Otherwise, HTTP server is run. 201 tls-key-file = "" 202 203 # pprof listen address (https://golang.org/pkg/net/http/pprof) 204 pprof-laddr = "" 205 206 ####################################################### 207 ### P2P Configuration Options ### 208 ####################################################### 209 [p2p] 210 211 # Select the p2p internal queue 212 queue-type = "priority" 213 214 # Address to listen for incoming connections 215 laddr = "tcp://0.0.0.0:26656" 216 217 # Address to advertise to peers for them to dial 218 # If empty, will use the same port as the laddr, 219 # and will introspect on the listener or use UPnP 220 # to figure out the address. ip and port are required 221 # example: 159.89.10.97:26656 222 external-address = "" 223 224 # Comma separated list of seed nodes to connect to 225 # We only use these if we can’t connect to peers in the addrbook 226 # NOTE: not used by the new PEX reactor. Please use BootstrapPeers instead. 227 # TODO: Remove once p2p refactor is complete 228 # ref: https:#github.com/tendermint/tendermint/issues/5670 229 seeds = "" 230 231 # Comma separated list of peers to be added to the peer store 232 # on startup. Either BootstrapPeers or PersistentPeers are 233 # needed for peer discovery 234 bootstrap-peers = "" 235 236 # Comma separated list of nodes to keep persistent connections to 237 persistent-peers = "" 238 239 # UPNP port forwarding 240 upnp = false 241 242 # Maximum number of connections (inbound and outbound). 243 max-connections = 64 244 245 # Rate limits the number of incoming connection attempts per IP address. 246 max-incoming-connection-attempts = 100 247 248 # Set true to enable the peer-exchange reactor 249 pex = true 250 251 # Comma separated list of peer IDs to keep private (will not be gossiped to other peers) 252 # Warning: IPs will be exposed at /net_info, for more information https://github.com/tendermint/tendermint/issues/3055 253 private-peer-ids = "" 254 255 # Toggle to disable guard against peers connecting from the same ip. 256 allow-duplicate-ip = false 257 258 # Peer connection configuration. 259 handshake-timeout = "20s" 260 dial-timeout = "3s" 261 262 # Time to wait before flushing messages out on the connection 263 # TODO: Remove once MConnConnection is removed. 264 flush-throttle-timeout = "100ms" 265 266 # Maximum size of a message packet payload, in bytes 267 # TODO: Remove once MConnConnection is removed. 268 max-packet-msg-payload-size = 1400 269 270 # Rate at which packets can be sent, in bytes/second 271 # TODO: Remove once MConnConnection is removed. 272 send-rate = 5120000 273 274 # Rate at which packets can be received, in bytes/second 275 # TODO: Remove once MConnConnection is removed. 276 recv-rate = 5120000 277 278 279 ####################################################### 280 ### Mempool Configuration Option ### 281 ####################################################### 282 [mempool] 283 284 # recheck has been moved from a config option to a global 285 # consensus param in v0.36 286 # See https://github.com/tendermint/tendermint/issues/8244 for more information. 287 288 # Set true to broadcast transactions in the mempool to other nodes 289 broadcast = true 290 291 # Maximum number of transactions in the mempool 292 size = 5000 293 294 # Limit the total size of all txs in the mempool. 295 # This only accounts for raw transactions (e.g. given 1MB transactions and 296 # max-txs-bytes=5MB, mempool will only accept 5 transactions). 297 max-txs-bytes = 1073741824 298 299 # Size of the cache (used to filter transactions we saw earlier) in transactions 300 cache-size = 10000 301 302 # Do not remove invalid transactions from the cache (default: false) 303 # Set to true if it's not possible for any invalid transaction to become valid 304 # again in the future. 305 keep-invalid-txs-in-cache = false 306 307 # Maximum size of a single transaction. 308 # NOTE: the max size of a tx transmitted over the network is {max-tx-bytes}. 309 max-tx-bytes = 1048576 310 311 # Maximum size of a batch of transactions to send to a peer 312 # Including space needed by encoding (one varint per transaction). 313 # XXX: Unused due to https://github.com/tendermint/tendermint/issues/5796 314 max-batch-bytes = 0 315 316 # ttl-duration, if non-zero, defines the maximum amount of time a transaction 317 # can exist for in the mempool. 318 # 319 # Note, if ttl-num-blocks is also defined, a transaction will be removed if it 320 # has existed in the mempool at least ttl-num-blocks number of blocks or if it's 321 # insertion time into the mempool is beyond ttl-duration. 322 ttl-duration = "0s" 323 324 # ttl-num-blocks, if non-zero, defines the maximum number of blocks a transaction 325 # can exist for in the mempool. 326 # 327 # Note, if ttl-duration is also defined, a transaction will be removed if it 328 # has existed in the mempool at least ttl-num-blocks number of blocks or if 329 # it's insertion time into the mempool is beyond ttl-duration. 330 ttl-num-blocks = 0 331 332 ####################################################### 333 ### State Sync Configuration Options ### 334 ####################################################### 335 [statesync] 336 # State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine 337 # snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in 338 # the network to take and serve state machine snapshots. State sync is not attempted if the node 339 # has any local state (LastBlockHeight > 0). The node will have a truncated block history, 340 # starting from the height of the snapshot. 341 enable = false 342 343 # State sync uses light client verification to verify state. This can be done either through the 344 # P2P layer or RPC layer. Set this to true to use the P2P layer. If false (default), RPC layer 345 # will be used. 346 use-p2p = false 347 348 # If using RPC, at least two addresses need to be provided. They should be compatible with net.Dial, 349 # for example: "host.example.com:2125" 350 rpc-servers = "" 351 352 # The hash and height of a trusted block. Must be within the trust-period. 353 trust-height = 0 354 trust-hash = "" 355 356 # The trust period should be set so that Tendermint can detect and gossip misbehavior before 357 # it is considered expired. For chains based on the Cosmos SDK, one day less than the unbonding 358 # period should suffice. 359 trust-period = "168h0m0s" 360 361 # Time to spend discovering snapshots before initiating a restore. 362 discovery-time = "15s" 363 364 # Temporary directory for state sync snapshot chunks, defaults to os.TempDir(). 365 # The synchronizer will create a new, randomly named directory within this directory 366 # and remove it when the sync is complete. 367 temp-dir = "" 368 369 # The timeout duration before re-requesting a chunk, possibly from a different 370 # peer (default: 15 seconds). 371 chunk-request-timeout = "15s" 372 373 # The number of concurrent chunk and block fetchers to run (default: 4). 374 fetchers = "4" 375 376 ####################################################### 377 ### Consensus Configuration Options ### 378 ####################################################### 379 [consensus] 380 381 wal-file = "data/cs.wal/wal" 382 383 # How many blocks to look back to check existence of the node's consensus votes before joining consensus 384 # When non-zero, the node will panic upon restart 385 # if the same consensus key was used to sign {double-sign-check-height} last blocks. 386 # So, validators should stop the state machine, wait for some blocks, and then restart the state machine to avoid panic. 387 double-sign-check-height = 0 388 389 # EmptyBlocks mode and possible interval between empty blocks 390 create-empty-blocks = true 391 create-empty-blocks-interval = "0s" 392 393 # Reactor sleep duration parameters 394 peer-gossip-sleep-duration = "100ms" 395 peer-query-maj23-sleep-duration = "2s" 396 397 ### Unsafe Timeout Overrides ### 398 399 # These fields provide temporary overrides for the Timeout consensus parameters. 400 # Use of these parameters is strongly discouraged. Using these parameters may have serious 401 # liveness implications for the validator and for the chain. 402 # 403 # These fields will be removed from the configuration file in the v0.37 release of Tendermint. 404 # For additional information, see ADR-74: 405 # https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-074-timeout-params.md 406 407 # This field provides an unsafe override of the Propose timeout consensus parameter. 408 # This field configures how long the consensus engine will wait for a proposal block before prevoting nil. 409 # If this field is set to a value greater than 0, it will take effect. 410 # unsafe-propose-timeout-override = 0s 411 412 # This field provides an unsafe override of the ProposeDelta timeout consensus parameter. 413 # This field configures how much the propose timeout increases with each round. 414 # If this field is set to a value greater than 0, it will take effect. 415 # unsafe-propose-timeout-delta-override = 0s 416 417 # This field provides an unsafe override of the Vote timeout consensus parameter. 418 # This field configures how long the consensus engine will wait after 419 # receiving +2/3 votes in a round. 420 # If this field is set to a value greater than 0, it will take effect. 421 # unsafe-vote-timeout-override = 0s 422 423 # This field provides an unsafe override of the VoteDelta timeout consensus parameter. 424 # This field configures how much the vote timeout increases with each round. 425 # If this field is set to a value greater than 0, it will take effect. 426 # unsafe-vote-timeout-delta-override = 0s 427 428 # This field provides an unsafe override of the Commit timeout consensus parameter. 429 # This field configures how long the consensus engine will wait after receiving 430 # +2/3 precommits before beginning the next height. 431 # If this field is set to a value greater than 0, it will take effect. 432 # unsafe-commit-timeout-override = 0s 433 434 # This field provides an unsafe override of the BypassCommitTimeout consensus parameter. 435 # This field configures if the consensus engine will wait for the full Commit timeout 436 # before proceeding to the next height. 437 # If this field is set to true, the consensus engine will proceed to the next height 438 # as soon as the node has gathered votes from all of the validators on the network. 439 # unsafe-bypass-commit-timeout-override = 440 441 ####################################################### 442 ### Transaction Indexer Configuration Options ### 443 ####################################################### 444 [tx-index] 445 446 # The backend database list to back the indexer. 447 # If list contains "null" or "", meaning no indexer service will be used. 448 # 449 # The application will set which txs to index. In some cases a node operator will be able 450 # to decide which txs to index based on configuration set in the application. 451 # 452 # Options: 453 # 1) "null" (default) - no indexer services. 454 # 2) "kv" - a simple indexer backed by key-value storage (see DBBackend) 455 # 3) "psql" - the indexer services backed by PostgreSQL. 456 # When "kv" or "psql" is chosen "tx.height" and "tx.hash" will always be indexed. 457 indexer = ["null"] 458 459 # The PostgreSQL connection configuration, the connection format: 460 # postgresql://<user>:<password>@<host>:<port>/<db>?<opts> 461 psql-conn = "" 462 463 ####################################################### 464 ### Instrumentation Configuration Options ### 465 ####################################################### 466 [instrumentation] 467 468 # When true, Prometheus metrics are served under /metrics on 469 # PrometheusListenAddr. 470 # Check out the documentation for the list of available metrics. 471 prometheus = false 472 473 # Address to listen for Prometheus collector(s) connections 474 prometheus-listen-addr = ":26660" 475 476 # Maximum number of simultaneous connections. 477 # If you want to accept a larger number than the default, make sure 478 # you increase your OS limits. 479 # 0 - unlimited. 480 max-open-connections = 3 481 482 # Instrumentation namespace 483 namespace = "tendermint"