Newer
Older
# 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
Benjamin Bollen
committed
# 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
Benjamin Bollen
committed
# 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.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.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
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]
# 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]
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
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
Benjamin Bollen
committed
[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"