config

package
v0.76.1 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2020 License: MIT Imports: 12 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Version string

Version the version of the node, set at build time.

Functions

This section is empty.

Types

type ApplicationConfiguration

type ApplicationConfiguration struct {
	Address           string                  `yaml:"Address"`
	AttemptConnPeers  int                     `yaml:"AttemptConnPeers"`
	DBConfiguration   storage.DBConfiguration `yaml:"DBConfiguration"`
	DialTimeout       time.Duration           `yaml:"DialTimeout"`
	LogPath           string                  `yaml:"LogPath"`
	MaxPeers          int                     `yaml:"MaxPeers"`
	MinPeers          int                     `yaml:"MinPeers"`
	NodePort          uint16                  `yaml:"NodePort"`
	PingInterval      time.Duration           `yaml:"PingInterval"`
	PingTimeout       time.Duration           `yaml:"PingTimeout"`
	Pprof             metrics.Config          `yaml:"Pprof"`
	Prometheus        metrics.Config          `yaml:"Prometheus"`
	ProtoTickInterval time.Duration           `yaml:"ProtoTickInterval"`
	Relay             bool                    `yaml:"Relay"`
	RPC               rpc.Config              `yaml:"RPC"`
	UnlockWallet      wallet.Config           `yaml:"UnlockWallet"`
}

ApplicationConfiguration config specific to the node.

type Config

type Config struct {
	ProtocolConfiguration    ProtocolConfiguration    `yaml:"ProtocolConfiguration"`
	ApplicationConfiguration ApplicationConfiguration `yaml:"ApplicationConfiguration"`
}

Config top level struct representing the config for the node.

func Load

func Load(path string, netMode NetMode) (Config, error)

Load attempts to load the config from the given path for the given netMode.

func (Config) GenerateUserAgent

func (c Config) GenerateUserAgent() string

GenerateUserAgent creates user agent string based on build time environment.

type NetMode

type NetMode uint32

NetMode describes the mode the blockchain will operate on.

const (
	// ModeMainNet contains magic code used in the NEO main official network.
	ModeMainNet NetMode = 0x00746e41 // 7630401
	// ModeTestNet contains magic code used in the NEO testing network.
	ModeTestNet NetMode = 0x74746e41 // 1953787457
	// ModePrivNet contains magic code usually used for NEO private networks.
	ModePrivNet NetMode = 56753 // docker privnet
	// ModeUnitTestNet is a stub magic code used for testing purposes.
	ModeUnitTestNet NetMode = 0
)

func (NetMode) String

func (n NetMode) String() string

String implements the stringer interface.

type ProtocolConfiguration

type ProtocolConfiguration struct {
	AddressVersion byte `yaml:"AddressVersion"`
	// EnableStateRoot specifies if exchange of state roots should be enabled.
	EnableStateRoot bool `yaml:"EnableStateRoot"`
	// FeePerExtraByte sets the expected per-byte fee for
	// transactions exceeding the MaxFreeTransactionSize.
	FeePerExtraByte float64 `yaml:"FeePerExtraByte"`
	// FreeGasLimit is an amount of GAS which can be spent for free.
	FreeGasLimit            util.Fixed8 `yaml:"FreeGasLimit"`
	LowPriorityThreshold    float64     `yaml:"LowPriorityThreshold"`
	Magic                   NetMode     `yaml:"Magic"`
	MaxTransactionsPerBlock int         `yaml:"MaxTransactionsPerBlock"`
	// Maximum size of low priority transaction in bytes.
	MaxFreeTransactionSize int `yaml:"MaxFreeTransactionSize"`
	// Maximum number of low priority transactions accepted into block.
	MaxFreeTransactionsPerBlock int `yaml:"MaxFreeTransactionsPerBlock"`
	MemPoolSize                 int `yaml:"MemPoolSize"`
	// SaveStorageBatch enables storage batch saving before every persist.
	SaveStorageBatch  bool     `yaml:"SaveStorageBatch"`
	SecondsPerBlock   int      `yaml:"SecondsPerBlock"`
	SeedList          []string `yaml:"SeedList"`
	StandbyValidators []string `yaml:"StandbyValidators"`
	// StateRootEnableIndex specifies starting height for state root calculations and exchange.
	StateRootEnableIndex uint32    `yaml:"StateRootEnableIndex"`
	SystemFee            SystemFee `yaml:"SystemFee"`
	// Whether to verify received blocks.
	VerifyBlocks bool `yaml:"VerifyBlocks"`
	// Whether to verify transactions in received blocks.
	VerifyTransactions bool `yaml:"VerifyTransactions"`
}

ProtocolConfiguration represents the protocol config.

type SystemFee

type SystemFee struct {
	EnrollmentTransaction int64 `yaml:"EnrollmentTransaction"`
	IssueTransaction      int64 `yaml:"IssueTransaction"`
	PublishTransaction    int64 `yaml:"PublishTransaction"`
	RegisterTransaction   int64 `yaml:"RegisterTransaction"`
}

SystemFee fees related to system.

func (SystemFee) TryGetValue

func (s SystemFee) TryGetValue(txType transaction.TXType) util.Fixed8

TryGetValue returns the system fee base on transaction type.

Jump to

Keyboard shortcuts

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