config

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2019 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

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

Variables

This section is empty.

Functions

func DefaultDataDir

func DefaultDataDir() string

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

func QlcTestDataDir

func QlcTestDataDir() string

Types

type CfgManager added in v1.0.1

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

func NewCfgManager

func NewCfgManager(path string) *CfgManager

func NewCfgManagerWithName added in v1.1.1

func NewCfgManagerWithName(path string, name string) *CfgManager

func (*CfgManager) Load added in v1.0.1

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

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

type CfgMigrate

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

type CfgMigrations

type CfgMigrations []CfgMigrate

func (CfgMigrations) Len

func (m CfgMigrations) Len() int

func (CfgMigrations) Less

func (m CfgMigrations) Less(i, j int) bool

func (CfgMigrations) Swap

func (m CfgMigrations) Swap(i, j int)

type Config

type Config ConfigV4

func DefaultConfig

func DefaultConfig(dir string) (*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 added in v1.1.0

func (c *Config) SqliteDir() string

func (*Config) WalletDir

func (c *Config) WalletDir() string

type ConfigV1 added in v1.0.1

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 added in v1.0.1

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

type ConfigV2 added in v1.0.1

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 added in v1.0.1

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

type ConfigV3 added in v1.1.0

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

func DefaultConfigV3 added in v1.1.0

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

type ConfigV4 added in v1.2.3

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

func DefaultConfigV4 added in v1.2.3

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

type DBConfig added in v1.1.0

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

type DiscoveryConfigV1 added in v1.0.1

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 added in v1.0.1

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 IdentityConfigV1 added in v1.0.1

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

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

type IdentityConfigV2 added in v1.0.1

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

type MDNSV1 added in v1.0.1

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

type MigrationV1ToV2 added in v1.0.1

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

func NewMigrationV1ToV2 added in v1.0.1

func NewMigrationV1ToV2() *MigrationV1ToV2

func (*MigrationV1ToV2) EndVersion added in v1.0.1

func (m *MigrationV1ToV2) EndVersion() int

func (*MigrationV1ToV2) Migration added in v1.0.1

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

func (*MigrationV1ToV2) StartVersion added in v1.0.1

func (m *MigrationV1ToV2) StartVersion() int

type MigrationV2ToV3 added in v1.1.0

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

func NewMigrationV2ToV3 added in v1.1.0

func NewMigrationV2ToV3() *MigrationV2ToV3

func (*MigrationV2ToV3) EndVersion added in v1.1.0

func (m *MigrationV2ToV3) EndVersion() int

func (*MigrationV2ToV3) Migration added in v1.1.0

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

func (*MigrationV2ToV3) StartVersion added in v1.1.0

func (m *MigrationV2ToV3) StartVersion() int

type MigrationV3ToV4 added in v1.2.3

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

func NewMigrationV3ToV4 added in v1.2.3

func NewMigrationV3ToV4() *MigrationV3ToV4

func (*MigrationV3ToV4) EndVersion added in v1.2.3

func (m *MigrationV3ToV4) EndVersion() int

func (*MigrationV3ToV4) Migration added in v1.2.3

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

func (*MigrationV3ToV4) StartVersion added in v1.2.3

func (m *MigrationV3ToV4) StartVersion() int

type P2PConfigV1 added in v1.0.1

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

type P2PConfigV2 added in v1.0.1

type P2PConfigV2 struct {
	BootNodes []string `json:"bootNode" mapstructure:"bootNode"`
	Listen    string   `json:"listen"`
	//Time in seconds between sync block interval
	SyncInterval int                `json:"syncInterval"`
	Discovery    *DiscoveryConfigV2 `json:"discovery"`
	ID           *IdentityConfigV2  `json:"identity" mapstructure:"identity"`
}

type PerformanceTestConfigV1 added in v1.0.1

type PerformanceTestConfigV1 struct {
	Enabled bool
}

type PoVConfig added in v1.2.3

type PoVConfig struct {
	PovEnabled   bool   `json:"povEnabled"`
	MinerEnabled bool   `json:"minerEnabled"`
	Coinbase     string `json:"coinbase"`
}

type RPCConfigV1 added in v1.0.1

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 added in v1.0.1

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"`
}

Jump to

Keyboard shortcuts

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