You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

221 lines
6.0 KiB

7 years ago
  1. # This is a TOML config file.
  2. # For more information, see https://github.com/toml-lang/toml
  3. ##### main base config options #####
  4. # TCP or UNIX socket address of the ABCI application,
  5. # or the name of an ABCI application compiled in with the Tendermint binary
  6. proxy_app = "tcp://127.0.0.1:46658"
  7. # A custom human readable name for this node
  8. moniker = "{{inventory_hostname}}"
  9. # If this node is many blocks behind the tip of the chain, FastSync
  10. # allows them to catchup quickly by downloading blocks in parallel
  11. # and verifying their commits
  12. fast_sync = true
  13. {% if service == 'tendermint' %}
  14. # Database backend: leveldb | memdb
  15. db_backend = "memdb"
  16. # Database directory
  17. db_path = "data"
  18. # Output level for logging, including package level options
  19. log_level = "mempool:error,*:debug"
  20. {% else %}
  21. # Database backend: leveldb | memdb
  22. db_backend = "leveldb"
  23. # Database directory
  24. db_path = "data"
  25. # Output level for logging, including package level options
  26. log_level = "main:info,state:info,*:error"
  27. #log_level = "mempool:error,*:debug"
  28. {% endif %}
  29. ##### additional base config options #####
  30. # Path to the JSON file containing the initial validator set and other meta data
  31. genesis_file = "config/genesis.json"
  32. # Path to the JSON file containing the private key to use as a validator in the consensus protocol
  33. priv_validator_file = "config/priv_validator.json"
  34. # Path to the JSON file containing the private key to use for node authentication in the p2p protocol
  35. node_key_file = "config/node_key.json"
  36. # Mechanism to connect to the ABCI application: socket | grpc
  37. abci = "socket"
  38. # TCP or UNIX socket address for the profiling server to listen on
  39. prof_laddr = ""
  40. # If true, query the ABCI app on connecting to a new peer
  41. # so the app can decide if we should keep the connection or not
  42. filter_peers = false
  43. ##### advanced configuration options #####
  44. ##### rpc server configuration options #####
  45. [rpc]
  46. # TCP or UNIX socket address for the RPC server to listen on
  47. laddr = "tcp://0.0.0.0:46657"
  48. # TCP or UNIX socket address for the gRPC server to listen on
  49. # NOTE: This server only supports /broadcast_tx_commit
  50. grpc_laddr = ""
  51. # Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool
  52. unsafe = false
  53. ##### peer to peer configuration options #####
  54. [p2p]
  55. # Address to listen for incoming connections
  56. laddr = "tcp://0.0.0.0:46656"
  57. # Comma separated list of seed nodes to connect to
  58. seeds = "{{ seeds | default() }}"
  59. # Comma separated list of nodes to keep persistent connections to
  60. {% set comma = joiner(",") %}persistent_peers = "{% for host in ((groups[testnet_name]|default([]))+(groups['tag_Environment_'~(testnet_name|regex_replace('-','_'))]|default([])))|difference(inventory_hostname) %}{{ comma() }}{{hostvars[host]["nodeid"]}}@{{hostvars[host]["inventory_hostname"]}}:46656{% endfor %}"
  61. # Path to address book
  62. addr_book_file = "config/addrbook.json"
  63. # Set true for strict address routability rules
  64. addr_book_strict = true
  65. # Time to wait before flushing messages out on the connection, in ms
  66. flush_throttle_timeout = 100
  67. # Maximum number of peers to connect to
  68. #max_num_peers = 50
  69. max_num_peers = 300
  70. # Maximum size of a message packet payload, in bytes
  71. {% if service == 'tendermint' %}
  72. max_msg_packet_payload_size = 65536
  73. {% else %}
  74. max_msg_packet_payload_size = 1024
  75. {% endif %}
  76. # Rate at which packets can be sent, in bytes/second
  77. {% if service == 'tendermint' %}
  78. send_rate = 51200000 # 50 MB/s
  79. {% else %}
  80. send_rate = 512000
  81. {% endif %}
  82. # Rate at which packets can be received, in bytes/second
  83. {% if service == 'tendermint' %}
  84. recv_rate = 51200000 # 50 MB/s
  85. {% else %}
  86. recv_rate = 512000
  87. {% endif %}
  88. # Set true to enable the peer-exchange reactor
  89. pex = true
  90. # Seed mode, in which node constantly crawls the network and looks for
  91. # peers. If another node asks it for addresses, it responds and disconnects.
  92. #
  93. # Does not work if the peer-exchange reactor is disabled.
  94. seed_mode = false
  95. ##### mempool configuration options #####
  96. [mempool]
  97. {% if service == 'tendermint' %}
  98. recheck = false
  99. {% else %}
  100. recheck = true
  101. {% endif %}
  102. recheck_empty = true
  103. broadcast = true
  104. {% if service == 'tendermint' %}
  105. wal_dir = ""
  106. {% else %}
  107. wal_dir = "data/mempool.wal"
  108. {% endif %}
  109. ##### consensus configuration options #####
  110. [consensus]
  111. wal_file = "data/cs.wal/wal"
  112. {% if service == 'tendermint' %}
  113. wal_light = true
  114. {% else %}
  115. wal_light = false
  116. {% endif %}
  117. # All timeouts are in milliseconds
  118. {% if service == 'tendermint' %}
  119. timeout_propose = 10000
  120. {% else %}
  121. timeout_propose = 3000
  122. {% endif %}
  123. timeout_propose_delta = 500
  124. timeout_prevote = 1000
  125. timeout_prevote_delta = 500
  126. timeout_precommit = 1000
  127. timeout_precommit_delta = 500
  128. {% if service == 'tendermint' %}
  129. timeout_commit = 1
  130. {% else %}
  131. timeout_commit = 1000
  132. {% endif %}
  133. # Make progress as soon as we have all the precommits (as if TimeoutCommit = 0)
  134. {% if service == 'tendermint' %}
  135. skip_timeout_commit = true
  136. {% else %}
  137. skip_timeout_commit = false
  138. {% endif %}
  139. # BlockSize
  140. max_block_size_txs = 10000
  141. max_block_size_bytes = 1
  142. # EmptyBlocks mode and possible interval between empty blocks in seconds
  143. {% if service == 'tendermint' %}
  144. create_empty_blocks = false
  145. {% else %}
  146. create_empty_blocks = true
  147. create_empty_blocks_interval = 60
  148. {% endif %}
  149. # Reactor sleep duration parameters are in milliseconds
  150. peer_gossip_sleep_duration = 100
  151. peer_query_maj23_sleep_duration = 2000
  152. ##### transactions indexer configuration options #####
  153. [tx_index]
  154. # What indexer to use for transactions
  155. #
  156. # Options:
  157. # 1) "null" (default)
  158. # 2) "kv" - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend).
  159. indexer = "kv"
  160. # Comma-separated list of tags to index (by default the only tag is tx hash)
  161. #
  162. # It's recommended to index only a subset of tags due to possible memory
  163. # bloat. This is, of course, depends on the indexer's DB and the volume of
  164. # transactions.
  165. index_tags = ""
  166. # When set to true, tells indexer to index all tags. Note this may be not
  167. # desirable (see the comment above). IndexTags has a precedence over
  168. # IndexAllTags (i.e. when given both, IndexTags will be indexed).
  169. index_all_tags = false