-
Notifications
You must be signed in to change notification settings - Fork 307
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add config samples from TM v26, v27, v28, v29. (#8384) (#8387)
- Loading branch information
1 parent
2a91d21
commit 9195a00
Showing
10 changed files
with
1,130 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Test data for `confix` and `condiff` | ||
|
||
The files in this directory are stock Tendermint configuration files generated | ||
by the last point release of each version series from v0.26 to present, along | ||
with diffs between consecutive versions. | ||
|
||
## Config Samples | ||
|
||
The files named `vXX-config.toml` were generated by checking out and building | ||
the corresponding version of Tendermint v0.xx.y and initializing a new node in | ||
an empty home directory. The resulting `config.toml` file was copied here. | ||
The exact build instructions vary a bit, but a general repro looks like: | ||
|
||
```shell | ||
# This example uses v0.31, substitute the version of your choice. | ||
# Note that the branch names and tags may differ. | ||
# Versions prior to v0.26 may not build. | ||
git checkout v0.31.9 | ||
git clean -fdx | ||
|
||
# Versions prior to v0.32 do not have Go module files. | ||
# Those that do may need some dependencies manually updated. | ||
go mod init github.com/tendermint/tendermint | ||
go mod tidy | ||
go get golang.org/x/sys | ||
|
||
# Once you sort out the dependencies, this should usually work. | ||
make build | ||
|
||
# Confirm you go the version you expected, and generate the file. | ||
./build/tendermint --home=tmhome version | ||
./build/tendermint --home=tmhome init | ||
|
||
# Copy the file out. | ||
cp ./tmhome/config/config.toml v31-config.toml | ||
``` | ||
|
||
## Version Diffs | ||
|
||
The files named `diff-XX-YY.txt` were generated by using the `condiff` tool on | ||
the config samples for versions v0.XX and v0.YY: | ||
|
||
```shell | ||
go run ./scripts/confix/condiff -desnake vXX-config vYY-config.toml > diff-XX-YY.txt | ||
``` | ||
|
||
The `baseline.txt` was computed in the same way, but using an empty starting | ||
file so that we capture all the settings in the target: | ||
|
||
```shell | ||
go run ./scripts/confix/condiff -desnake /dev/null v26-config.toml > baseline.txt | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
+M abci | ||
+M db-backend | ||
+M db-dir | ||
+M fast-sync | ||
+M filter-peers | ||
+M genesis-file | ||
+M log-format | ||
+M log-level | ||
+M moniker | ||
+M node-key-file | ||
+M priv-validator-file | ||
+M priv-validator-laddr | ||
+M prof-laddr | ||
+M proxy-app | ||
+S consensus | ||
+M consensus.wal-file | ||
+M consensus.timeout-propose | ||
+M consensus.timeout-propose-delta | ||
+M consensus.timeout-prevote | ||
+M consensus.timeout-prevote-delta | ||
+M consensus.timeout-precommit | ||
+M consensus.timeout-precommit-delta | ||
+M consensus.timeout-commit | ||
+M consensus.skip-timeout-commit | ||
+M consensus.create-empty-blocks | ||
+M consensus.create-empty-blocks-interval | ||
+M consensus.peer-gossip-sleep-duration | ||
+M consensus.peer-query-maj23-sleep-duration | ||
+M consensus.blocktime-iota | ||
+S instrumentation | ||
+M instrumentation.prometheus | ||
+M instrumentation.prometheus-listen-addr | ||
+M instrumentation.max-open-connections | ||
+M instrumentation.namespace | ||
+S mempool | ||
+M mempool.recheck | ||
+M mempool.broadcast | ||
+M mempool.wal-dir | ||
+M mempool.size | ||
+M mempool.cache-size | ||
+S p2p | ||
+M p2p.laddr | ||
+M p2p.external-address | ||
+M p2p.seeds | ||
+M p2p.persistent-peers | ||
+M p2p.upnp | ||
+M p2p.addr-book-file | ||
+M p2p.addr-book-strict | ||
+M p2p.max-num-inbound-peers | ||
+M p2p.max-num-outbound-peers | ||
+M p2p.flush-throttle-timeout | ||
+M p2p.max-packet-msg-payload-size | ||
+M p2p.send-rate | ||
+M p2p.recv-rate | ||
+M p2p.pex | ||
+M p2p.seed-mode | ||
+M p2p.private-peer-ids | ||
+M p2p.allow-duplicate-ip | ||
+M p2p.handshake-timeout | ||
+M p2p.dial-timeout | ||
+S rpc | ||
+M rpc.laddr | ||
+M rpc.cors-allowed-origins | ||
+M rpc.cors-allowed-methods | ||
+M rpc.cors-allowed-headers | ||
+M rpc.grpc-laddr | ||
+M rpc.grpc-max-open-connections | ||
+M rpc.unsafe | ||
+M rpc.max-open-connections | ||
+S tx-index | ||
+M tx-index.indexer | ||
+M tx-index.index-tags | ||
+M tx-index.index-all-tags |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
-M priv-validator-file | ||
+M priv-validator-key-file | ||
+M priv-validator-state-file |
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,249 @@ | ||
# This is a TOML config file. | ||
# For more information, see https://github.com/toml-lang/toml | ||
|
||
##### main base config options ##### | ||
|
||
# TCP or UNIX socket address of the ABCI application, | ||
# or the name of an ABCI application compiled in with the Tendermint binary | ||
proxy_app = "tcp://127.0.0.1:26658" | ||
|
||
# A custom human readable name for this node | ||
moniker = "localhost" | ||
|
||
# If this node is many blocks behind the tip of the chain, FastSync | ||
# allows them to catchup quickly by downloading blocks in parallel | ||
# and verifying their commits | ||
fast_sync = true | ||
|
||
# Database backend: leveldb | memdb | cleveldb | ||
db_backend = "leveldb" | ||
|
||
# Database directory | ||
db_dir = "data" | ||
|
||
# Output level for logging, including package level options | ||
log_level = "main:info,state:info,*:error" | ||
|
||
# Output format: 'plain' (colored text) or 'json' | ||
log_format = "plain" | ||
|
||
##### additional base config options ##### | ||
|
||
# Path to the JSON file containing the initial validator set and other meta data | ||
genesis_file = "config/genesis.json" | ||
|
||
# Path to the JSON file containing the private key to use as a validator in the consensus protocol | ||
priv_validator_file = "config/priv_validator.json" | ||
|
||
# TCP or UNIX socket address for Tendermint to listen on for | ||
# connections from an external PrivValidator process | ||
priv_validator_laddr = "" | ||
|
||
# Path to the JSON file containing the private key to use for node authentication in the p2p protocol | ||
node_key_file = "config/node_key.json" | ||
|
||
# Mechanism to connect to the ABCI application: socket | grpc | ||
abci = "socket" | ||
|
||
# TCP or UNIX socket address for the profiling server to listen on | ||
prof_laddr = "" | ||
|
||
# If true, query the ABCI app on connecting to a new peer | ||
# so the app can decide if we should keep the connection or not | ||
filter_peers = false | ||
|
||
##### advanced configuration options ##### | ||
|
||
##### rpc server configuration options ##### | ||
[rpc] | ||
|
||
# TCP or UNIX socket address for the RPC server to listen on | ||
laddr = "tcp://0.0.0.0:26657" | ||
|
||
# A list of origins a cross-domain request can be executed from | ||
# Default value '[]' disables cors support | ||
# Use '["*"]' to allow any origin | ||
cors_allowed_origins = "[]" | ||
|
||
# A list of methods the client is allowed to use with cross-domain requests | ||
cors_allowed_methods = "[HEAD GET POST]" | ||
|
||
# A list of non simple headers the client is allowed to use with cross-domain requests | ||
cors_allowed_headers = "[Origin Accept Content-Type X-Requested-With X-Server-Time]" | ||
|
||
# TCP or UNIX socket address for the gRPC server to listen on | ||
# NOTE: This server only supports /broadcast_tx_commit | ||
grpc_laddr = "" | ||
|
||
# Maximum number of simultaneous connections. | ||
# Does not include RPC (HTTP&WebSocket) connections. See max_open_connections | ||
# If you want to accept more significant number than the default, make sure | ||
# you increase your OS limits. | ||
# 0 - unlimited. | ||
# Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} | ||
# 1024 - 40 - 10 - 50 = 924 = ~900 | ||
grpc_max_open_connections = 900 | ||
|
||
# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool | ||
unsafe = false | ||
|
||
# Maximum number of simultaneous connections (including WebSocket). | ||
# Does not include gRPC connections. See grpc_max_open_connections | ||
# If you want to accept more significant number than the default, make sure | ||
# you increase your OS limits. | ||
# 0 - unlimited. | ||
# Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} | ||
# 1024 - 40 - 10 - 50 = 924 = ~900 | ||
max_open_connections = 900 | ||
|
||
##### peer to peer configuration options ##### | ||
[p2p] | ||
|
||
# Address to listen for incoming connections | ||
laddr = "tcp://0.0.0.0:26656" | ||
|
||
# Address to advertise to peers for them to dial | ||
# If empty, will use the same port as the laddr, | ||
# and will introspect on the listener or use UPnP | ||
# to figure out the address. | ||
external_address = "" | ||
|
||
# Comma separated list of seed nodes to connect to | ||
seeds = "" | ||
|
||
# Comma separated list of nodes to keep persistent connections to | ||
persistent_peers = "" | ||
|
||
# UPNP port forwarding | ||
upnp = false | ||
|
||
# Path to address book | ||
addr_book_file = "config/addrbook.json" | ||
|
||
# Set true for strict address routability rules | ||
# Set false for private or local networks | ||
addr_book_strict = true | ||
|
||
# Maximum number of inbound peers | ||
max_num_inbound_peers = 40 | ||
|
||
# Maximum number of outbound peers to connect to, excluding persistent peers | ||
max_num_outbound_peers = 10 | ||
|
||
# Time to wait before flushing messages out on the connection | ||
flush_throttle_timeout = "100ms" | ||
|
||
# Maximum size of a message packet payload, in bytes | ||
max_packet_msg_payload_size = 1024 | ||
|
||
# Rate at which packets can be sent, in bytes/second | ||
send_rate = 5120000 | ||
|
||
# Rate at which packets can be received, in bytes/second | ||
recv_rate = 5120000 | ||
|
||
# Set true to enable the peer-exchange reactor | ||
pex = true | ||
|
||
# Seed mode, in which node constantly crawls the network and looks for | ||
# peers. If another node asks it for addresses, it responds and disconnects. | ||
# | ||
# Does not work if the peer-exchange reactor is disabled. | ||
seed_mode = false | ||
|
||
# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) | ||
private_peer_ids = "" | ||
|
||
# Toggle to disable guard against peers connecting from the same ip. | ||
allow_duplicate_ip = true | ||
|
||
# Peer connection configuration. | ||
handshake_timeout = "20s" | ||
dial_timeout = "3s" | ||
|
||
##### mempool configuration options ##### | ||
[mempool] | ||
|
||
recheck = true | ||
broadcast = true | ||
wal_dir = "" | ||
|
||
# size of the mempool | ||
size = 5000 | ||
|
||
# size of the cache (used to filter transactions we saw earlier) | ||
cache_size = 10000 | ||
|
||
##### consensus configuration options ##### | ||
[consensus] | ||
|
||
wal_file = "data/cs.wal/wal" | ||
|
||
timeout_propose = "3s" | ||
timeout_propose_delta = "500ms" | ||
timeout_prevote = "1s" | ||
timeout_prevote_delta = "500ms" | ||
timeout_precommit = "1s" | ||
timeout_precommit_delta = "500ms" | ||
timeout_commit = "1s" | ||
|
||
# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) | ||
skip_timeout_commit = false | ||
|
||
# EmptyBlocks mode and possible interval between empty blocks | ||
create_empty_blocks = true | ||
create_empty_blocks_interval = "0s" | ||
|
||
# Reactor sleep duration parameters | ||
peer_gossip_sleep_duration = "100ms" | ||
peer_query_maj23_sleep_duration = "2s" | ||
|
||
# Block time parameters. Corresponds to the minimum time increment between consecutive blocks. | ||
blocktime_iota = "1s" | ||
|
||
##### transactions indexer configuration options ##### | ||
[tx_index] | ||
|
||
# What indexer to use for transactions | ||
# | ||
# Options: | ||
# 1) "null" (default) | ||
# 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). | ||
indexer = "kv" | ||
|
||
# Comma-separated list of tags to index (by default the only tag is "tx.hash") | ||
# | ||
# You can also index transactions by height by adding "tx.height" tag here. | ||
# | ||
# It's recommended to index only a subset of tags due to possible memory | ||
# bloat. This is, of course, depends on the indexer's DB and the volume of | ||
# transactions. | ||
index_tags = "" | ||
|
||
# When set to true, tells indexer to index all tags (predefined tags: | ||
# "tx.hash", "tx.height" and all tags from DeliverTx responses). | ||
# | ||
# Note this may be not desirable (see the comment above). IndexTags has a | ||
# precedence over IndexAllTags (i.e. when given both, IndexTags will be | ||
# indexed). | ||
index_all_tags = false | ||
|
||
##### instrumentation configuration options ##### | ||
[instrumentation] | ||
|
||
# When true, Prometheus metrics are served under /metrics on | ||
# PrometheusListenAddr. | ||
# Check out the documentation for the list of available metrics. | ||
prometheus = false | ||
|
||
# Address to listen for Prometheus collector(s) connections | ||
prometheus_listen_addr = ":26660" | ||
|
||
# Maximum number of simultaneous connections. | ||
# If you want to accept more significant number than the default, make sure | ||
# you increase your OS limits. | ||
# 0 - unlimited. | ||
max_open_connections = 3 | ||
|
||
# Instrumentation namespace | ||
namespace = "tendermint" |
Oops, something went wrong.