|
|
- package config
-
- // Config struct for a Tendermint node
- type Config struct {
- // The ID of the chain to join (should be signed with every transaction and vote)
- ChainID string `mapstructure:"chain_id"`
-
- // A JSON file containing the initial validator set and other meta data
- GenesisFile string `mapstructure:"genesis_file"`
-
- // A JSON file containing the private key to use as a validator in the consensus protocol
- PrivValidatorFile string `mapstructure:"priv_validator_file"`
-
- // A custom human readable name for this node
- Moniker string `mapstructure:"moniker"`
-
- // TCP or UNIX socket address of the ABCI application,
- // or the name of an ABCI application compiled in with the Tendermint binary
- ProxyApp string `mapstructure:"proxy_app"`
-
- // Mechanism to connect to the ABCI application: socket | grpc
- ABCI string `mapstructure:"abci"`
-
- // Output level for logging
- LogLevel string `mapstructure:"log_level"`
-
- // TCP or UNIX socket address for the profiling server to listen on
- ProfListenAddress string `mapstructure:"prof_laddr"`
-
- // 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
- FastSync bool `mapstructure:"fast_sync"`
-
- // 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
- FilterPeers bool `mapstructure:"filter_peers"` // false
-
- // What indexer to use for transactions
- TxIndex string `mapstructure:"tx_index"`
-
- // Database backend: leveldb | memdb
- DBBackend string `mapstructure:"db_backend"`
-
- // Database directory
- DBDir string `mapstructure:"db_dir"`
-
- // TCP or UNIX socket address for the RPC server to listen on
- RPCListenAddress string `mapstructure:"rpc_laddr"`
-
- // TCP or UNIX socket address for the gRPC server to listen on
- // NOTE: This server only supports /broadcast_tx_commit
- GRPCListenAddress string `mapstructure:"grpc_laddr"`
- }
-
- func NewDefaultConfig(rootDir string) *Config {
- return &Config{
- GenesisFile: rootDir + "/genesis.json",
- PrivValidatorFile: rootDir + "/priv_validator.json",
- Moniker: "anonymous",
- ProxyApp: "tcp://127.0.0.1:46658",
- ABCI: "socket",
- LogLevel: "info",
- ProfListenAddress: "",
- FastSync: true,
- FilterPeers: false,
- TxIndex: "kv",
- DBBackend: "leveldb",
- DBDir: rootDir + "/data",
- RPCListenAddress: "tcp://0.0.0.0:46657",
- GRPCListenAddress: "",
- }
- }
|