forked from hyperledger-archives/burrow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
server_config.toml
244 lines (212 loc) · 7.92 KB
/
server_config.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
# Copyright 2015, 2016 Eris Industries (UK) Ltd.
# This file is part of Eris-RT
#
# Eris-RT is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Eris-RT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Eris-RT. If not, see <http://www.gnu.org/licenses/>.
# This is a TOML configuration for Eris-DB chains
[chain]
# ChainId is a human-readable name to identify the chain.
# This must correspond to the chain_id defined in the genesis file
# and the assertion here provides a safe-guard on misconfiguring chains.
assert_chain_id = "MyChainId"
# semantic major and minor version
major_version = 0
minor_version = 12
# genesis file, relative path is to eris-db working directory
genesis_file = "genesis.json"
###############################################################################
##
## consensus
##
###############################################################################
[chain.consensus]
# consensus defines the module to use for consensus and
# this will define the peer-to-peer consensus network;
# accepted values are "noops", "tmsp", "tendermint"
name = "tendermint"
# version is the major and minor semantic version;
# the version will be asserted on
major_version = 0
minor_version = 6
# relative path to consensus' module root folder
relative_root = "tendermint"
###############################################################################
##
## application manager
##
###############################################################################
[chain.manager]
# application manager name defines the module to use for handling
# the transactions. Supported names are `erismint`
name = "erismint"
# version is the major and minor semantic version;
# the version will be asserted on
major_version = 0
minor_version = 12
# relative path to application manager root folder
relative_root = "erismint"
################################################################################
################################################################################
##
## Server configurations
##
################################################################################
################################################################################
[servers]
[servers.bind]
address = ""
port = 1337
[servers.tls]
tls = false
cert_path = ""
key_path = ""
[servers.cors]
enable = false
allow_origins = []
allow_credentials = false
allow_methods = []
allow_headers = []
expose_headers = []
max_age = 0
[servers.http]
json_rpc_endpoint = "/rpc"
[servers.websocket]
endpoint = "/socketrpc"
max_sessions = 50
read_buffer_size = 4096
write_buffer_size = 4096
[servers.tendermint]
# Multiple listeners can be separated with a comma
rpc_local_address = "0.0.0.0:46657"
endpoint = "/websocket"
[servers.logging]
console_log_level = "info"
file_log_level = "warn"
log_file = ""
################################################################################
################################################################################
##
## Module configurations - dynamically loaded based on chain configuration
##
################################################################################
################################################################################
################################################################################
##
## Tendermint Socket Protocol (TMSP)
## version 0.6.0
##
## TMSP expects a tendermint consensus process to run and connect to Eris-DB
##
################################################################################
[tmsp]
# listener address for accepting tendermint socket protocol connections
listener = "tcp://0.0.0.0:46658"
################################################################################
##
## Tendermint
## version 0.6.0
##
## in-process execution of Tendermint consensus engine
##
################################################################################
[tendermint]
# private validator file is used by tendermint to keep the status
# of the private validator, but also (currently) holds the private key
# for the private vaildator to sign with. This private key needs to be moved
# out and directly managed by eris-keys
# This file needs to be in the root directory
private_validator_file = "priv_validator.json"
# Tendermint requires additional configuration parameters.
# Eris-DB's tendermint consensus module will load [tendermint.configuration]
# as the configuration for Tendermint.
# Eris-DB will respect the configurations set in this file where applicable,
# but reserves the option to override or block conflicting settings.
[tendermint.configuration]
# moniker is the name of the node on the tendermint p2p network
moniker = "anonymous_marmot"
# seeds lists the peers tendermint can connect to join the network
seeds = ""
# fast_sync allows a tendermint node to catch up faster when joining
# the network.
# NOTE: Tendermint has reported potential issues with fast_sync enabled.
# The recommended setting is for keeping it disabled.
fast_sync = false
# database backend to use for Tendermint. Supported `leveldb` and `memdb`.
db_backend = "leveldb"
# logging level. Suppored `debug`, `notice`, `info` [ben: incomplete, see Tendermint]
log_level = "info"
# node local address
node_laddr = "0.0.0.0:46656"
# rpc local address
# NOTE: value is ignored when run in-process as RPC is
# handled by [servers.tendermint]
rpc_laddr = "0.0.0.0:46657"
# proxy application address - used for tmsp connections,
# and this port should not be exposed for in-process Tendermint
proxy_app = "tcp://127.0.0.1:46658"
# Extended Tendermint configuration settings
# for reference to Tendermint see https://github.com/tendermint/tendermint/blob/master/config/tendermint/config.go
# genesis_file = "./data/tendermint/genesis.json"
# skip_upnp = false
# addrbook_file = "./data/tendermint/addrbook.json"
# priv_validator_file = "./data/tendermint/priv_validator.json"
# db_dir = "./data/tendermint/data"
# prof_laddr = ""
# revision_file = "./data/tendermint/revision"
# cswal = "./data/tendermint/data/cswal"
# cswal_light = false
# block_size = 10000
# disable_data_hash = false
# timeout_propose = 3000
# timeout_propose_delta = 500
# timeout_prevote = 1000
# timeout_prevote_delta = 500
# timeout_precommit = 1000
# timeout_precommit_delta = 500
# timeout_commit = 1000
# mempool_recheck = true
# mempool_recheck_empty = true
# mempool_broadcast = true
[tendermint.configuration.p2p]
# Switch config keys
dial_timeout_seconds = 3
handshake_timeout_seconds = 20
max_num_peers = 20
authenticated_encryption = true
# MConnection config keys
send_rate = 512000
recv_rate = 512000
# Fuzz params
fuzz_enable = false # use the fuzz wrapped conn
fuzz_active = false # toggle fuzzing
fuzz_mode = "drop" # eg. drop, delay
fuzz_max_delay_milliseconds = 3000
fuzz_prob_drop_rw = 0.2
fuzz_prob_drop_conn = 0.00
fuzz_prob_sleep = 0.00
################################################################################
##
## Eris-Mint
## version 0.12.0
##
## The original Ethereum virtual machine with IAVL merkle trees
## and tendermint/go-wire encoding
##
################################################################################
[erismint]
# Database backend to use for ErisMint state database.
# Supported `leveldb` and `memdb`.
db_backend = "leveldb"
# tendermint host address needs to correspond to tendermints configuration
# of the rpc local address
tendermint_host = "0.0.0.0:46657"