config

package
Version: v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2021 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	QlcConfigFile = "qlc.json"
)

Variables

This section is empty.

Functions

func AllGenesisBlocks

func AllGenesisBlocks() []types.StateBlock

func ChainToken

func ChainToken() types.Hash

func DefaultDataDir

func DefaultDataDir() string

DefaultDataDir is the default data directory to use for the databases and other persistence requirements.

func ErrToString

func ErrToString(err error) string

func GasAddress

func GasAddress() types.Address

func GasBlock

func GasBlock() types.StateBlock

func GasBlockHash

func GasBlockHash() types.Hash

func GasMintageBlock

func GasMintageBlock() types.StateBlock

func GasToken

func GasToken() types.Hash

func GenesisAddress

func GenesisAddress() types.Address

func GenesisBlock

func GenesisBlock() types.StateBlock

func GenesisBlockHash

func GenesisBlockHash() types.Hash

func GenesisMintageBlock

func GenesisMintageBlock() types.StateBlock

func GenesisMintageHash

func GenesisMintageHash() types.Hash

func IsGenesisBlock

func IsGenesisBlock(block *types.StateBlock) bool

IsGenesis check block is chain token genesis

func IsGenesisToken

func IsGenesisToken(hash types.Hash) bool

IsGenesis check token is chain token genesis

func QlcTestDataDir

func QlcTestDataDir() string

Types

type CfgManager

type CfgManager struct {
	ConfigFile string
	// contains filtered or unexported fields
}

func NewCfgManager

func NewCfgManager(path string) *CfgManager

func NewCfgManagerWithConfig

func NewCfgManagerWithConfig(cfgFile string, cfg *Config) *CfgManager

func NewCfgManagerWithFile

func NewCfgManagerWithFile(cfgFile string) *CfgManager

func NewCfgManagerWithName

func NewCfgManagerWithName(path string, name string) *CfgManager

func (*CfgManager) Commit

func (cm *CfgManager) Commit() error

Commit changed cfg to runtime

func (*CfgManager) CommitAndSave

func (cm *CfgManager) CommitAndSave() error

CommitAndSave commit changed cfg to runtime and save to config file

func (*CfgManager) Config

func (cm *CfgManager) Config() (*Config, error)

Config get current used config

func (*CfgManager) ConfigDir

func (cm *CfgManager) ConfigDir() string

func (*CfgManager) Diff

func (cm *CfgManager) Diff() (string, error)

Diff the changed config

func (*CfgManager) DiffOther

func (cm *CfgManager) DiffOther(cfg *Config) (string, error)

DiffOther diff runtime cfg with other `cfg`

func (*CfgManager) Discard

func (cm *CfgManager) Discard()

func (*CfgManager) Load

func (cm *CfgManager) Load(migrations ...CfgMigrate) (*Config, error)

Load the config file and will create default if config file no exist

func (*CfgManager) ParseDataDir

func (cm *CfgManager) ParseDataDir() (string, error)

ParseDataDir parse dataDir from config file

func (*CfgManager) PatchParams

func (cm *CfgManager) PatchParams(params []string, cfg *Config) (*Config, error)

func (*CfgManager) Save

func (cm *CfgManager) Save(data ...interface{}) error

Save write config to file

func (*CfgManager) UpdateParams

func (cm *CfgManager) UpdateParams(params []string) (*Config, error)

type CfgMigrate

type CfgMigrate interface {
	Migration(cfg []byte, version int) ([]byte, int, error)
	StartVersion() int
	EndVersion() int
}

type ChainParams

type ChainParams struct {
	MinerPledge types.Balance `mapstructure:",squash" json:"minerPledge"`
}

type Config

type Config ConfigV11

func DefaultConfig

func DefaultConfig(dir string) (*Config, error)

func (Config) Clone

func (c Config) Clone() (*Config, error)

func (*Config) DecodePrivateKey

func (c *Config) DecodePrivateKey() (ic.PrivKey, error)

DecodePrivateKey is a helper to decode the users PrivateKey

func (*Config) LedgerDir

func (c *Config) LedgerDir() string

func (*Config) LogDir

func (c *Config) LogDir() string

func (*Config) SqliteDir

func (c *Config) SqliteDir() string

func (*Config) WalletDir

func (c *Config) WalletDir() string

type ConfigV1

type ConfigV1 struct {
	Version             int        `json:"version"`
	DataDir             string     `json:"DataDir"`
	StorageMax          string     `json:"StorageMax"`
	Mode                string     `json:"mode"` // runtime mode: Test,Normal
	AutoGenerateReceive bool       `json:"AutoGenerateReceive"`
	LogConfig           *logConfig `json:"log"` //log config

	RPC *RPCConfigV1 `json:"rpc"`
	P2P *P2PConfigV1 `json:"p2p"`

	Discovery *DiscoveryConfigV1 `json:"Discovery"`
	ID        *IdentityConfigV1  `json:"Identity"`

	PerformanceTest *PerformanceTestConfigV1
}

func DefaultConfigV1

func DefaultConfigV1(dir string) (*ConfigV1, error)

type ConfigV10

type ConfigV10 struct {
	ConfigV8   `mapstructure:",squash"`
	DBOptimize *DBOptimize `json:"dbOptimize"`
}

func DefaultConfigV10

func DefaultConfigV10(dir string) (*ConfigV10, error)

type ConfigV11

type ConfigV11 struct {
	ConfigV10 `mapstructure:",squash"`
}

func DefaultConfigV11

func DefaultConfigV11(dir string) (*ConfigV11, error)

type ConfigV2

type ConfigV2 struct {
	Version             int    `json:"version"`
	DataDir             string `json:"dataDir"`
	StorageMax          string `json:"storageMax"`
	AutoGenerateReceive bool   `json:"autoGenerateReceive"`
	LogLevel            string `json:"logLevel"` //info,warn,debug
	PerformanceEnabled  bool   `json:"performanceEnabled"`

	RPC *RPCConfigV2 `json:"rpc"`
	P2P *P2PConfigV2 `json:"p2p"`
}

func DefaultConfigV2

func DefaultConfigV2(dir string) (*ConfigV2, error)

type ConfigV3

type ConfigV3 struct {
	ConfigV2 `mapstructure:",squash"`
	DB       *DBConfig `json:"db"`
}

func DefaultConfigV3

func DefaultConfigV3(dir string) (*ConfigV3, error)

type ConfigV4

type ConfigV4 struct {
	ConfigV3 `mapstructure:",squash"`
	PoV      *PoVConfig `json:"pov"`
}

func DefaultConfigV4

func DefaultConfigV4(dir string) (*ConfigV4, error)

type ConfigV5

type ConfigV5 struct {
	ConfigV4 `mapstructure:",squash"`
	Metrics  *MetricsConfig `json:"metrics"`
	Manager  *Manager       `json:"manager"`
}

func DefaultConfigV5

func DefaultConfigV5(dir string) (*ConfigV5, error)

type ConfigV6

type ConfigV6 struct {
	ConfigV5 `mapstructure:",squash"`
	Genesis  *Genesis `json:"genesis"`
}

func DefaultConfigV6

func DefaultConfigV6(dir string) (*ConfigV6, error)

type ConfigV7

type ConfigV7 struct {
	ConfigV6  `mapstructure:",squash"`
	Privacy   *Privacy   `json:"privacy"`
	WhiteList *WhiteList `json:"whiteList"`
}

func DefaultConfigV7

func DefaultConfigV7(dir string) (*ConfigV7, error)

type ConfigV8

type ConfigV8 struct {
	ConfigV7 `mapstructure:",squash"`
}

func DefaultConfigV8

func DefaultConfigV8(dir string) (*ConfigV8, error)

type DBConfig

type DBConfig struct {
	ConnectionString string `json:"connectionString"`
	Driver           string `json:"driver"`
}

type DBOptimize

type DBOptimize struct {
	Enable          bool   `json:"enable"`
	PeriodDay       int    `json:"periodDay"`
	HeightInterval  uint64 `json:"heightInterval"`  //  pov height interval to delete data
	SyncWriteHeight uint64 `json:"syncWriteHeight"` //  min pov height to write trie data when sync
	MaxUsage        int    `json:"maxUsage"`
	FlushInterval   int    `json:"flushInterval"`
}

type DiscoveryConfigV1

type DiscoveryConfigV1 struct {
	// Time in seconds between remote discovery rounds
	DiscoveryInterval int
	//The maximum number of discovered nodes at a time
	Limit int
	MDNS  MDNSV1
}

type DiscoveryConfigV2

type DiscoveryConfigV2 struct {
	// Time in seconds between remote discovery rounds
	DiscoveryInterval int `json:"discoveryInterval"`
	//The maximum number of discovered nodes at a time
	Limit       int  `json:"limit"`
	MDNSEnabled bool `json:"mDNSEnabled"`
	// Time in seconds between local discovery rounds
	MDNSInterval int `json:"mDNSInterval"`
}

type GRPCConfig

type GRPCConfig struct {
	Enable bool `json:"enabled"`
	// TCP or UNIX socket address for the gRPC server to listen on
	ListenAddress string `json:"listenAddress"`
	HTTPEnable    bool   `json:"httpEnabled"`
	// TCP or UNIX socket address for the Restful server to listen on
	HTTPListenAddress      string `json:"httpListenAddress"`
	MaxSubscriptionClients int    `json:"maxSubClients"`
}

type Genesis

type Genesis struct {
	GenesisBlocks []*GenesisInfo `json:"genesisBlocks"`
}

type GenesisInfo

type GenesisInfo struct {
	ChainToken bool             `json:"chainToken"`
	GasToken   bool             `json:"gasToken"`
	Mintage    types.StateBlock `mapstructure:",squash" json:"mintage"`
	Genesis    types.StateBlock `mapstructure:",squash" json:"genesis"`
}

func GenesisInfos

func GenesisInfos() []*GenesisInfo

type IdentityConfigV1

type IdentityConfigV1 struct {
	PeerID  string
	PrivKey string `json:",omitempty"`
}

Identity tracks the configuration of the local node's identity.

type IdentityConfigV2

type IdentityConfigV2 struct {
	PeerID  string `json:"peerId"`
	PrivKey string `json:"privateKey,omitempty" mapstructure:"privateKey"`
}

type Influx

type Influx struct {
	Enable   bool   `json:"enable"`
	URL      string `json:"url" validate:"nonzero"`
	Database string `json:"database" validate:"nonzero"`
	User     string `json:"user" validate:"nonzero"`
	Password string `json:"password"`
	Interval int    `json:"interval" validate:"min=1"`
}

type MDNSV1

type MDNSV1 struct {
	Enabled bool
	// Time in seconds between local discovery rounds
	Interval int
}

type Manager

type Manager struct {
	AdminToken string `json:"adminToken"`
}

type MetricsConfig

type MetricsConfig struct {
	Enable         bool    `json:"enable"`
	SampleInterval int     `json:"sampleInterval" validate:"min=1"`
	Influx         *Influx `json:"influx"`
}

type MigrationV10ToV11

type MigrationV10ToV11 struct {
	// contains filtered or unexported fields
}

func NewMigrationV10ToV11

func NewMigrationV10ToV11() *MigrationV10ToV11

func (*MigrationV10ToV11) EndVersion

func (m *MigrationV10ToV11) EndVersion() int

func (*MigrationV10ToV11) Migration

func (m *MigrationV10ToV11) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV10ToV11) StartVersion

func (m *MigrationV10ToV11) StartVersion() int

type MigrationV1ToV2

type MigrationV1ToV2 struct {
	// contains filtered or unexported fields
}

func NewMigrationV1ToV2

func NewMigrationV1ToV2() *MigrationV1ToV2

func (*MigrationV1ToV2) EndVersion

func (m *MigrationV1ToV2) EndVersion() int

func (*MigrationV1ToV2) Migration

func (m *MigrationV1ToV2) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV1ToV2) StartVersion

func (m *MigrationV1ToV2) StartVersion() int

type MigrationV2ToV3

type MigrationV2ToV3 struct {
	// contains filtered or unexported fields
}

func NewMigrationV2ToV3

func NewMigrationV2ToV3() *MigrationV2ToV3

func (*MigrationV2ToV3) EndVersion

func (m *MigrationV2ToV3) EndVersion() int

func (*MigrationV2ToV3) Migration

func (m *MigrationV2ToV3) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV2ToV3) StartVersion

func (m *MigrationV2ToV3) StartVersion() int

type MigrationV3ToV4

type MigrationV3ToV4 struct {
	// contains filtered or unexported fields
}

func NewMigrationV3ToV4

func NewMigrationV3ToV4() *MigrationV3ToV4

func (*MigrationV3ToV4) EndVersion

func (m *MigrationV3ToV4) EndVersion() int

func (*MigrationV3ToV4) Migration

func (m *MigrationV3ToV4) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV3ToV4) StartVersion

func (m *MigrationV3ToV4) StartVersion() int

type MigrationV4ToV5

type MigrationV4ToV5 struct {
	// contains filtered or unexported fields
}

func NewMigrationV4ToV5

func NewMigrationV4ToV5() *MigrationV4ToV5

func (*MigrationV4ToV5) EndVersion

func (m *MigrationV4ToV5) EndVersion() int

func (*MigrationV4ToV5) Migration

func (m *MigrationV4ToV5) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV4ToV5) StartVersion

func (m *MigrationV4ToV5) StartVersion() int

type MigrationV5ToV6

type MigrationV5ToV6 struct {
	// contains filtered or unexported fields
}

func NewMigrationV5ToV6

func NewMigrationV5ToV6() *MigrationV5ToV6

func (*MigrationV5ToV6) EndVersion

func (m *MigrationV5ToV6) EndVersion() int

func (*MigrationV5ToV6) Migration

func (m *MigrationV5ToV6) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV5ToV6) StartVersion

func (m *MigrationV5ToV6) StartVersion() int

type MigrationV6ToV7

type MigrationV6ToV7 struct {
	// contains filtered or unexported fields
}

func NewMigrationV6ToV7

func NewMigrationV6ToV7() *MigrationV6ToV7

func (*MigrationV6ToV7) EndVersion

func (m *MigrationV6ToV7) EndVersion() int

func (*MigrationV6ToV7) Migration

func (m *MigrationV6ToV7) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV6ToV7) StartVersion

func (m *MigrationV6ToV7) StartVersion() int

type MigrationV7ToV8

type MigrationV7ToV8 struct {
	// contains filtered or unexported fields
}

func NewMigrationV7ToV8

func NewMigrationV7ToV8() *MigrationV7ToV8

func (*MigrationV7ToV8) EndVersion

func (m *MigrationV7ToV8) EndVersion() int

func (*MigrationV7ToV8) Migration

func (m *MigrationV7ToV8) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV7ToV8) StartVersion

func (m *MigrationV7ToV8) StartVersion() int

type MigrationV8ToV10

type MigrationV8ToV10 struct {
	// contains filtered or unexported fields
}

func NewMigrationV8ToV10

func NewMigrationV8ToV10() *MigrationV8ToV10

func (*MigrationV8ToV10) EndVersion

func (m *MigrationV8ToV10) EndVersion() int

func (*MigrationV8ToV10) Migration

func (m *MigrationV8ToV10) Migration(data []byte, version int) ([]byte, int, error)

func (*MigrationV8ToV10) StartVersion

func (m *MigrationV8ToV10) StartVersion() int

type P2PConfigV1

type P2PConfigV1 struct {
	BootNodes []string `json:"BootNode"`
	Listen    string   `json:"Listen"`
	//Time in seconds between sync block interval
	SyncInterval int `json:"SyncInterval"`
}

type P2PConfigV2

type P2PConfigV2 struct {
	BootNodes          []string `json:"bootNode" mapstructure:"bootNode"`
	IsBootNode         bool     `json:"isBootNode"`
	BootNodeHttpServer string   `json:"bootNodeHttpServer"`
	Listen             string   `json:"listen"`
	// if you are bootNode,should fill in the listening ip
	ListeningIp string `json:"listeningIp"`
	//Time in seconds between sync block interval
	SyncInterval int                `json:"syncInterval"`
	Discovery    *DiscoveryConfigV2 `json:"discovery"`
	ID           *IdentityConfigV2  `json:"identity" mapstructure:"identity"`
}

type PerformanceTestConfigV1

type PerformanceTestConfigV1 struct {
	Enabled bool
}

type PoVConfig

type PoVConfig struct {
	PovEnabled   bool         `json:"povEnabled"`
	MinerEnabled bool         `json:"minerEnabled"`
	Coinbase     string       `json:"coinbase" validate:"address"`
	AlgoName     string       `json:"algoName"`
	ChainParams  *ChainParams `json:"chainParams"`
}

type Privacy

type Privacy struct {
	Enable  bool   `json:"enable"`
	PtmNode string `json:"ptmNode"`
}

type RPCConfigV1

type RPCConfigV1 struct {
	Enable bool `json:"enable"`
	//Listen string `json:"Listen"`
	HTTPEndpoint     string   `json:"hTTPEndpoint"`
	HTTPEnabled      bool     `json:"hTTPEnabled"`
	HTTPCors         []string `json:"hTTPCors"`
	HttpVirtualHosts []string `json:"httpVirtualHosts"`

	WSEnabled   bool   `json:"wSEnabled"`
	WSEndpoint  string `json:"wSEndpoint"`
	IPCEndpoint string `json:"iPCEndpoint"`

	IPCEnabled bool `json:"iPCEnabled"`
}

type RPCConfigV2

type RPCConfigV2 struct {
	Enable bool `json:"rpcEnabled" mapstructure:"rpcEnabled"`
	//Listen string `json:"Listen"`
	HTTPEndpoint     string   `json:"httpEndpoint"`
	HTTPEnabled      bool     `json:"httpEnabled"`
	HTTPCors         []string `json:"httpCors"`
	HttpVirtualHosts []string `json:"httpVirtualHosts"`

	WSEnabled  bool   `json:"webSocketEnabled" mapstructure:"webSocketEnabled"`
	WSEndpoint string `json:"webSocketEndpoint" mapstructure:"webSocketEndpoint"`

	IPCEndpoint   string      `json:"ipcEndpoint"`
	IPCEnabled    bool        `json:"ipcEnabled"`
	PublicModules []string    `json:"publicModules"`
	GRPCConfig    *GRPCConfig `json:"gRPCConfig"`
}

type WhiteList

type WhiteList struct {
	Enable         bool             `json:"enable"`
	WhiteListInfos []*WhiteListInfo `json:"whiteListInfo"`
}

type WhiteListInfo

type WhiteListInfo struct {
	PeerId  string `json:"peerId"`
	Addr    string `json:"addr"` //(for example, "192.0.2.1:25", "[2001:db8::1]:80")
	Comment string `json:"comment"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to