config

package
v0.0.0-...-5d05a64 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	PublicAPI *APIConfig
}

type APIConfig

type APIConfig struct {
	Enabled          bool
	Host             string
	Port             uint32
	Threads          uint32
	MaxConcurrentRPC uint16
}

type Config

type Config struct {
	Dev  *DevConfig
	User *UserConfig
}

func GetConfig

func GetConfig() *Config

type DevConfig

type DevConfig struct {
	ChainID *big.Int

	Genesis *GenesisConfig

	ProtocolID protocol.ID

	Version string

	BlocksPerEpoch       uint64
	BlockLeadTimestamp   uint32
	BlockMaxDrift        uint16
	BlockGasLimit        uint64
	MaxFutureBlockLength uint16
	MaxMarginBlockNumber uint16
	MinMarginBlockNumber uint16

	ReorgLimit uint64

	MessageQSize          uint32
	MessageReceiptTimeout uint32
	MessageBufferSize     uint32

	OTSBitFieldPerPage uint64

	DefaultNonce          uint8
	DefaultAccountBalance uint64
	BlockTime             uint64

	DBName              string
	DB2Name             string
	DB2FreezerName      string
	PeersFilename       string
	WalletDatFilename   string
	BannedPeersFilename string

	Transaction *TransactionConfig

	NumberOfBlockAnalyze uint8
	SizeMultiplier       float64
	BlockMinSizeLimit    int
	TxExtraOverhead      int

	ShorPerQuanta uint64

	MaxReceivableBytes uint64
	ReservedQuota      uint64
	MaxBytesOut        uint64

	BlockTimeSeriesSize uint32

	RecordTransactionHashes bool // True will enable recording of transaction hashes into address state

	StakeAmount uint64
}

func GetDevConfig

func GetDevConfig() (dev *DevConfig)

type GenesisConfig

type GenesisConfig struct {
	GenesisPrevHeaderHash      common.Hash
	MaxCoinSupply              uint64
	SuppliedCoins              uint64
	GenesisDifficulty          uint64
	CoinBaseAddress            common.Address
	FoundationDilithiumAddress common.Address
	GenesisTimestamp           uint64
}

type NTPConfig

type NTPConfig struct {
	Retries int
	Servers []string
	Refresh uint64
}

type NodeConfig

type NodeConfig struct {
	EnablePeerDiscovery     bool
	PeerList                []string
	BindingIP               string
	LocalPort               uint16
	PublicPort              uint16
	PeerRateLimit           uint64
	BanMinutes              uint8
	MaxPeersLimit           uint16
	MaxPeersInPeerList      uint64
	MaxRedundantConnections int
}

type StakeConfig

type StakeConfig struct {
	EnableStaking         bool
	DilithiumKeysFileName string
}

type TransactionConfig

type TransactionConfig struct {
	MultiOutputLimit uint8
}

type TransactionPoolConfig

type TransactionPoolConfig struct {
	TransactionPoolSize           uint64
	PendingTransactionPoolSize    uint64
	PendingTransactionPoolReserve uint64
	StaleTransactionThreshold     uint64
}

type UserConfig

type UserConfig struct {
	Node *NodeConfig

	NTP *NTPConfig

	ChainStateTimeout         uint16
	ChainStateBroadcastPeriod uint16

	TransactionPool *TransactionPoolConfig
	Stake           *StakeConfig

	BaseDir            string
	ChainFileDirectory string
	NodeKeyFileName    string

	API *API
}

func GetUserConfig

func GetUserConfig() (userConf *UserConfig)

func (*UserConfig) DataDir

func (u *UserConfig) DataDir() string

func (*UserConfig) GetAbsoluteNodeKeyFilePath

func (u *UserConfig) GetAbsoluteNodeKeyFilePath() string

func (*UserConfig) GetLogFileName

func (u *UserConfig) GetLogFileName() string

func (*UserConfig) SetDataDir

func (u *UserConfig) SetDataDir(dataDir string)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL