Documentation ¶
Overview ¶
Package config contains go-spacemesh node configuration definitions
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseConfig ¶
type BaseConfig struct { DataDirParent string `mapstructure:"data-folder"` ConfigFile string `mapstructure:"config"` TestMode bool `mapstructure:"test-mode"` CollectMetrics bool `mapstructure:"metrics"` MetricsPort int `mapstructure:"metrics-port"` MetricsPush string `mapstructure:"metrics-push"` MetricsPushPeriod int `mapstructure:"metrics-push-period"` ProfilerName string `mapstructure:"profiler-name"` ProfilerURL string `mapstructure:"profiler-url"` OracleServer string `mapstructure:"oracle_server"` OracleServerWorldID int `mapstructure:"oracle_server_worldid"` GenesisTime string `mapstructure:"genesis-time"` LayerDurationSec int `mapstructure:"layer-duration-sec"` LayerAvgSize int `mapstructure:"layer-average-size"` LayersPerEpoch uint32 `mapstructure:"layers-per-epoch"` Hdist uint32 `mapstructure:"hdist"` // hare/input vector lookback distance Zdist uint32 `mapstructure:"zdist"` // hare result wait distance ConfidenceParam uint32 `mapstructure:"tortoise-confidence-param"` // layers to wait for global consensus WindowSize uint32 `mapstructure:"tortoise-window-size"` // size of the tortoise sliding window (in layers) GlobalThreshold *big.Rat `mapstructure:"tortoise-global-threshold"` // threshold for finalizing blocks and layers LocalThreshold *big.Rat `mapstructure:"tortoise-local-threshold"` // threshold for choosing when to use weak coin // how often we rerun tortoise from scratch, in minutes TortoiseRerunInterval uint32 `mapstructure:"tortoise-rerun-interval"` PoETServer string `mapstructure:"poet-server"` PprofHTTPServer bool `mapstructure:"pprof-server"` GoldenATXID string `mapstructure:"golden-atx"` GenesisActiveSet int `mapstructure:"genesis-active-size"` // the active set size for genesis SyncRequestTimeout int `mapstructure:"sync-request-timeout"` // ms the timeout for direct request in the sync SyncInterval int `mapstructure:"sync-interval"` // sync interval in seconds PublishEventsURL string `mapstructure:"events-url"` AtxsPerBlock int `mapstructure:"atxs-per-block"` TxsPerBlock int `mapstructure:"txs-per-block"` BlockCacheSize int `mapstructure:"block-cache-size"` AlwaysListen bool `mapstructure:"always-listen"` // force gossip to always be on (for testing) }
BaseConfig defines the default configuration options for spacemesh app
func (*BaseConfig) SetConfigFile ¶
func (cfg *BaseConfig) SetConfigFile(file string)
SetConfigFile overrides the default config file path
type Config ¶
type Config struct { BaseConfig `mapstructure:"main"` Genesis *apiConfig.GenesisConfig `mapstructure:"genesis"` P2P p2pConfig.Config `mapstructure:"p2p"` API apiConfig.Config `mapstructure:"api"` HARE hareConfig.Config `mapstructure:"hare"` HareEligibility eligConfig.Config `mapstructure:"hare-eligibility"` TortoiseBeacon tortoisebeacon.Config `mapstructure:"tortoise-beacon"` TIME timeConfig.TimeConfig `mapstructure:"time"` REWARD mesh.Config `mapstructure:"reward"` POST activation.PostConfig `mapstructure:"post"` SMESHING SmeshingConfig `mapstructure:"smeshing"` LOGGING LoggerConfig `mapstructure:"logging"` LAYERS layerfetcher.Config `mapstructure:"layer-fetch"` FETCH fetch.Config `mapstructure:"fetch"` }
Config defines the top level configuration for a spacemesh node
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns the default configuration for a spacemesh node
func DefaultTestConfig ¶ added in v1.0.0
func DefaultTestConfig() Config
DefaultTestConfig returns the default config for tests.
type LoggerConfig ¶
type LoggerConfig struct { AppLoggerLevel string `mapstructure:"app"` P2PLoggerLevel string `mapstructure:"p2p"` PostLoggerLevel string `mapstructure:"post"` StateDbLoggerLevel string `mapstructure:"stateDb"` StateLoggerLevel string `mapstructure:"state"` AtxDbStoreLoggerLevel string `mapstructure:"atxDbStore"` TBeaconLoggerLevel string `mapstructure:"tBeacon"` WeakCoinLoggerLevel string `mapstructure:"weakCoin"` PoetDbStoreLoggerLevel string `mapstructure:"poetDbStore"` StoreLoggerLevel string `mapstructure:"store"` PoetDbLoggerLevel string `mapstructure:"poetDb"` MeshDBLoggerLevel string `mapstructure:"meshDb"` TrtlLoggerLevel string `mapstructure:"trtl"` AtxDbLoggerLevel string `mapstructure:"atxDb"` BlkEligibilityLoggerLevel string `mapstructure:"block-eligibility"` MeshLoggerLevel string `mapstructure:"mesh"` SyncLoggerLevel string `mapstructure:"sync"` BlockOracleLevel string `mapstructure:"block-oracle"` HareOracleLoggerLevel string `mapstructure:"hare-oracle"` HareLoggerLevel string `mapstructure:"hare"` BlockBuilderLoggerLevel string `mapstructure:"block-builder"` BlockListenerLoggerLevel string `mapstructure:"block-listener"` PoetListenerLoggerLevel string `mapstructure:"poet"` NipostBuilderLoggerLevel string `mapstructure:"nipost"` AtxBuilderLoggerLevel string `mapstructure:"atx-builder"` HareBeaconLoggerLevel string `mapstructure:"hare-beacon"` TimeSyncLoggerLevel string `mapstructure:"timesync"` }
LoggerConfig holds the logging level for each module.
type SmeshingConfig ¶ added in v1.0.0
type SmeshingConfig struct { Start bool `mapstructure:"smeshing-start"` CoinbaseAccount string `mapstructure:"smeshing-coinbase"` Opts activation.PostSetupOpts `mapstructure:"smeshing-opts"` }
SmeshingConfig defines configuration for the node's smeshing (mining).
func DefaultSmeshingConfig ¶ added in v1.0.0
func DefaultSmeshingConfig() SmeshingConfig
DefaultSmeshingConfig returns the node's default smeshing configuration.
Click to show internal directories.
Click to hide internal directories.