config

package
v0.0.0-...-7bd4979 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2019 License: MIT Imports: 4 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 {
	AdminAPI  *APIConfig
	PublicAPI *APIConfig
	MiningAPI *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 {
	Genesis *GenesisConfig

	Version string

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

	ReorgLimit uint64

	MessageQSize          uint32
	MessageReceiptTimeout uint32
	MessageBufferSize     uint32

	MaxOTSTracking  uint64
	OtsBitFieldSize uint64

	MiningNonceOffset int64
	ExtraNonceOffset  uint16
	MiningBlobSize    uint16

	DefaultNonce            uint8
	DefaultAccountBalance   uint64
	MiningSetpointBlocktime uint64

	DBName              string
	PeersFilename       string
	WalletDatFilename   string
	BannedPeersFilename string

	Transaction *TransactionConfig

	Token *TokenConfig

	NMeasurement uint8
	KP           int64

	NumberOfBlockAnalyze uint8
	SizeMultiplier       float64
	BlockMinSizeLimit    int
	TxExtraOverhead      int

	ShorPerQuanta uint64

	MaxReceivableBytes uint64
	ReservedQuota      uint64
	MaxBytesOut        uint64
	SyncDelayMining    uint8

	BlockTimeSeriesSize uint32

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

func GetDevConfig

func GetDevConfig() (dev *DevConfig)

type EphemeralConfig

type EphemeralConfig struct {
	AcceptEphemeral bool
}

type GenesisConfig

type GenesisConfig struct {
	GenesisPrevHeadehash []byte
	MaxCoinSupply        uint64
	SuppliedCoins        uint64
	GenesisDifficulty    uint64
	CoinbaseAddress      []byte
	GenesisTimestamp     uint32
}

type MinerConfig

type MinerConfig struct {
	MiningEnabled     bool
	MiningAddress     string
	MiningThreadCount uint
}

type MongoProcessorConfig

type MongoProcessorConfig struct {
	Enabled  bool
	DBName   string
	Host     string
	Port     uint16
	Username string
	Password string

	ItemsPerPage 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 NotificationServerConfig

type NotificationServerConfig struct {
	EnableNotificationServer bool
	BindingIP                string
	LocalPort                uint16
}

type TokenConfig

type TokenConfig struct {
	MaxSymbolLength uint8
	MaxNameLength   uint8
}

type TransactionConfig

type TransactionConfig struct {
	MultiOutputLimit uint8
}

type TransactionPoolConfig

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

type UserConfig

type UserConfig struct {
	Node                     *NodeConfig
	NotificationServerConfig *NotificationServerConfig
	Miner                    *MinerConfig
	Ephemeral                *EphemeralConfig

	NTP *NTPConfig

	ChainStateTimeout         uint16
	ChainStateBroadcastPeriod uint16

	TransactionPool *TransactionPoolConfig

	QrlDir             string
	ChainFileDirectory string

	API                  *API
	MongoProcessorConfig *MongoProcessorConfig
}

func GetUserConfig

func GetUserConfig() (userConf *UserConfig)

func (*UserConfig) DataDir

func (u *UserConfig) DataDir() 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