Documentation ¶
Index ¶
- Constants
- Variables
- func DoNotValidate(cfg Config) error
- func ValidateAPI(cfg Config) error
- func ValidateActPool(cfg Config) error
- func ValidateArchiveMode(cfg Config) error
- func ValidateDispatcher(cfg Config) error
- func ValidateForkHeights(cfg Config) error
- func ValidateRollDPoS(cfg Config) error
- type Config
- type System
- type Validate
Constants ¶
View Source
const ( // RollDPoSScheme means randomized delegated proof of stake RollDPoSScheme = "ROLLDPOS" // StandaloneScheme means that the node creates a block periodically regardless of others (if there is any) StandaloneScheme = "STANDALONE" // NOOPScheme means that the node does not create only block NOOPScheme = "NOOP" )
View Source
const ( // GatewayPlugin is the plugin of accepting user API requests and serving blockchain data to users GatewayPlugin = iota )
Variables ¶
View Source
var ( // Default is the default config Default = Config{ Plugins: make(map[int]interface{}), SubLogs: make(map[string]log.GlobalConfig), Network: p2p.DefaultConfig, Chain: blockchain.DefaultConfig, ActPool: actpool.DefaultConfig, Consensus: consensus.DefaultConfig, DardanellesUpgrade: consensusfsm.DefaultDardanellesUpgradeConfig, BlockSync: blocksync.DefaultConfig, Dispatcher: dispatcher.DefaultConfig, API: api.DefaultConfig, System: System{ Active: true, HeartbeatInterval: 10 * time.Second, HTTPStatsPort: 8080, HTTPAdminPort: 0, StartSubChainInterval: 10 * time.Second, SystemLogDBPath: "/var/log", }, DB: db.DefaultConfig, Indexer: blockindex.DefaultConfig, Genesis: genesis.Default, NodeInfo: nodeinfo.DefaultConfig, } // ErrInvalidCfg indicates the invalid config value ErrInvalidCfg = errors.New("invalid config value") // Validates is the collection config validation functions Validates = []Validate{ ValidateRollDPoS, ValidateArchiveMode, ValidateDispatcher, ValidateAPI, ValidateActPool, ValidateForkHeights, } )
Dardanelles consensus config
Functions ¶
func DoNotValidate ¶ added in v0.3.0
DoNotValidate validates the given config
func ValidateAPI ¶ added in v0.5.0
ValidateAPI validates the api configs
func ValidateActPool ¶ added in v0.3.0
ValidateActPool validates the given config
func ValidateArchiveMode ¶ added in v0.11.0
ValidateArchiveMode validates the state factory setting
func ValidateDispatcher ¶ added in v0.3.0
ValidateDispatcher validates the dispatcher configs
func ValidateForkHeights ¶ added in v1.1.0
ValidateForkHeights validates the forked heights
func ValidateRollDPoS ¶ added in v0.3.0
ValidateRollDPoS validates the roll-DPoS configs
Types ¶
type Config ¶
type Config struct { Plugins map[int]interface{} `ymal:"plugins"` Network p2p.Config `yaml:"network"` Chain blockchain.Config `yaml:"chain"` ActPool actpool.Config `yaml:"actPool"` Consensus consensus.Config `yaml:"consensus"` DardanellesUpgrade consensusfsm.DardanellesUpgrade `yaml:"dardanellesUpgrade"` BlockSync blocksync.Config `yaml:"blockSync"` Dispatcher dispatcher.Config `yaml:"dispatcher"` API api.Config `yaml:"api"` System System `yaml:"system"` DB db.Config `yaml:"db"` Indexer blockindex.Config `yaml:"indexer"` Log log.GlobalConfig `yaml:"log"` SubLogs map[string]log.GlobalConfig `yaml:"subLogs"` Genesis genesis.Genesis `yaml:"genesis"` NodeInfo nodeinfo.Config `yaml:"nodeinfo"` }
Config is the root config struct, each package's config should be put as its sub struct
type System ¶ added in v0.2.0
type System struct { // Active is the status of the node. True means active and false means stand-by Active bool `yaml:"active"` HeartbeatInterval time.Duration `yaml:"heartbeatInterval"` // HTTPProfilingPort is the port number to access golang performance profiling data of a blockchain node. It is // 0 by default, meaning performance profiling has been disabled HTTPAdminPort int `yaml:"httpAdminPort"` HTTPStatsPort int `yaml:"httpStatsPort"` StartSubChainInterval time.Duration `yaml:"startSubChainInterval"` SystemLogDBPath string `yaml:"systemLogDBPath"` MptrieLogPath string `yaml:"mptrieLogPath"` }
System is the system config
Click to show internal directories.
Click to hide internal directories.