----------------------------------------------------------------------------- BaseConfig BaseConfig defines the base configuration for a Tendermint node
| 156 | |
| 157 | // BaseConfig defines the base configuration for a Tendermint node |
| 158 | type BaseConfig struct { //nolint: maligned |
| 159 | // chainID is unexposed and immutable but here for convenience |
| 160 | chainID string |
| 161 | |
| 162 | // The root directory for all data. |
| 163 | // This should be set in viper so it can unmarshal into this struct |
| 164 | RootDir string `mapstructure:"home"` |
| 165 | |
| 166 | // TCP or UNIX socket address of the ABCI application, |
| 167 | // or the name of an ABCI application compiled in with the Tendermint binary |
| 168 | ProxyApp string `mapstructure:"proxy_app"` |
| 169 | |
| 170 | // A custom human readable name for this node |
| 171 | Moniker string `mapstructure:"moniker"` |
| 172 | |
| 173 | // If this node is many blocks behind the tip of the chain, FastSync |
| 174 | // allows them to catchup quickly by downloading blocks in parallel |
| 175 | // and verifying their commits |
| 176 | FastSyncMode bool `mapstructure:"fast_sync"` |
| 177 | |
| 178 | // Database backend: goleveldb | cleveldb | boltdb | rocksdb |
| 179 | // * goleveldb (github.com/syndtr/goleveldb - most popular implementation) |
| 180 | // - pure go |
| 181 | // - stable |
| 182 | // * cleveldb (uses levigo wrapper) |
| 183 | // - fast |
| 184 | // - requires gcc |
| 185 | // - use cleveldb build tag (go build -tags cleveldb) |
| 186 | // * boltdb (uses etcd's fork of bolt - github.com/etcd-io/bbolt) |
| 187 | // - EXPERIMENTAL |
| 188 | // - may be faster is some use-cases (random reads - indexer) |
| 189 | // - use boltdb build tag (go build -tags boltdb) |
| 190 | // * rocksdb (uses github.com/tecbot/gorocksdb) |
| 191 | // - EXPERIMENTAL |
| 192 | // - requires gcc |
| 193 | // - use rocksdb build tag (go build -tags rocksdb) |
| 194 | // * badgerdb (uses github.com/dgraph-io/badger) |
| 195 | // - EXPERIMENTAL |
| 196 | // - use badgerdb build tag (go build -tags badgerdb) |
| 197 | DBBackend string `mapstructure:"db_backend"` |
| 198 | |
| 199 | // Database directory |
| 200 | DBPath string `mapstructure:"db_dir"` |
| 201 | |
| 202 | // Output level for logging |
| 203 | LogLevel string `mapstructure:"log_level"` |
| 204 | |
| 205 | // Output format: 'plain' (colored text) or 'json' |
| 206 | LogFormat string `mapstructure:"log_format"` |
| 207 | |
| 208 | // Path to the JSON file containing the initial validator set and other meta data |
| 209 | Genesis string `mapstructure:"genesis_file"` |
| 210 | |
| 211 | // Path to the JSON file containing the private key to use as a validator in the consensus protocol |
| 212 | PrivValidatorKey string `mapstructure:"priv_validator_key_file"` |
| 213 | |
| 214 | // Path to the JSON file containing the last sign state of a validator |
| 215 | PrivValidatorState string `mapstructure:"priv_validator_state_file"` |
nothing calls this directly
no outgoing calls
no test coverage detected