quaiconfig

package
v0.29.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package quaiconfig contains the configuration of the ETH and LES protocols.

Index

Constants

This section is empty.

Variables

View Source
var Defaults = Config{
	Progpow:                   progpow.Config{},
	NetworkId:                 1,
	TxLookupLimit:             2350000,
	DatabaseCache:             512,
	TrieCleanCache:            154,
	TrieCleanCacheJournal:     "triecache",
	UTXOTrieCleanCacheJournal: "utxotriecache",
	ETXTrieCleanCacheJournal:  "etxtriecache",
	TrieCleanCacheRejournal:   60 * time.Minute,
	TrieDirtyCache:            256,
	TrieTimeout:               60 * time.Minute,
	SnapshotCache:             102,
	Miner: core.Config{
		GasCeil:  18000000,
		GasPrice: big.NewInt(params.GWei),
		Recommit: 3 * time.Second,
	},
	TxPool:      core.DefaultTxPoolConfig,
	RPCGasCap:   50000000,
	GPO:         FullNodeGPO,
	RPCTxFeeCap: 1,
	DomUrl:      "ws://127.0.0.1:8546",
	SubUrls:     []string{"ws://127.0.0.1:8546", "ws://127.0.0.1:8546", "ws://127.0.0.1:8546"},
}

Defaults contains default settings for use on the Quai main net.

View Source
var FullNodeGPO = gasprice.Config{
	Blocks:           20,
	Percentile:       60,
	MaxHeaderHistory: 0,
	MaxBlockHistory:  0,
	MaxPrice:         gasprice.DefaultMaxPrice,
	IgnorePrice:      gasprice.DefaultIgnorePrice,
}

FullNodeGPO contains default gasprice oracle settings for full node.

View Source
var LightClientGPO = gasprice.Config{
	Blocks:           2,
	Percentile:       60,
	MaxHeaderHistory: 300,
	MaxBlockHistory:  5,
	MaxPrice:         gasprice.DefaultMaxPrice,
	IgnorePrice:      gasprice.DefaultIgnorePrice,
}

LightClientGPO contains default gasprice oracle settings for light client.

Functions

func CreateBlake3ConsensusEngine

func CreateBlake3ConsensusEngine(stack *node.Node, nodeLocation common.Location, config *blake3pow.Config, notify []string, noverify bool, db ethdb.Database, logger *log.Logger) consensus.Engine

CreateBlake3ConsensusEngine creates a progpow consensus engine for the given chain configuration.

func CreateProgpowConsensusEngine

func CreateProgpowConsensusEngine(stack *node.Node, nodeLocation common.Location, config *progpow.Config, notify []string, noverify bool, db ethdb.Database, logger *log.Logger) consensus.Engine

CreateProgpowConsensusEngine creates a progpow consensus engine for the given chain configuration.

Types

type Config

type Config struct {
	// The genesis block, which is inserted if the database is empty.
	// If nil, the Quai main net block is used.
	Genesis *core.Genesis `toml:",omitempty"`

	// Protocol options
	NetworkId uint64 // Network ID to use for selecting peers to connect to

	// This can be set to list of enrtree:// URLs which will be queried for
	// for nodes to connect to.
	EthDiscoveryURLs  []string
	SnapDiscoveryURLs []string

	NoPruning  bool // Whether to disable pruning and flush everything to disk
	NoPrefetch bool // Whether to disable prefetching and only load state on demand

	TxLookupLimit uint64 `toml:",omitempty"` // The maximum number of blocks from head whose tx indices are reserved.

	// Whitelist of required block number -> hash values to accept
	Whitelist map[uint64]common.Hash `toml:"-"`

	// Database options
	SkipBcVersionCheck bool `toml:"-"`
	DatabaseHandles    int  `toml:"-"`
	DatabaseCache      int
	DatabaseFreezer    string

	TrieCleanCache            int
	TrieCleanCacheJournal     string        `toml:",omitempty"` // Disk journal directory for trie cache to survive node restarts
	UTXOTrieCleanCacheJournal string        `toml:",omitempty"` // Disk journal directory for trie cache to survive node restarts
	ETXTrieCleanCacheJournal  string        `toml:",omitempty"` // Disk journal directory for trie cache to survive node restarts
	TrieCleanCacheRejournal   time.Duration `toml:",omitempty"` // Time interval to regenerate the journal for clean cache
	TrieDirtyCache            int
	TrieTimeout               time.Duration
	SnapshotCache             int
	Preimages                 bool

	// Mining options
	Miner core.Config

	// Consensus Engine
	ConsensusEngine string

	// Progpow options
	Progpow progpow.Config

	// Blake3 options
	Blake3Pow blake3pow.Config

	// Transaction pool options
	TxPool core.TxPoolConfig

	// Gas Price Oracle options
	GPO gasprice.Config

	// Enables tracking of SHA3 preimages in the VM
	EnablePreimageRecording bool

	// Miscellaneous options
	DocRoot string `toml:"-"`

	// RPCGasCap is the global gas cap for eth-call variants.
	RPCGasCap uint64

	// RPCTxFeeCap is the global transaction fee(price * gaslimit) cap for
	// send-transction variants. The unit is ether.
	RPCTxFeeCap float64

	// Region location options
	Region int

	// Zone location options
	Zone int

	// Dom node websocket url
	DomUrl string

	// Sub node websocket urls
	SubUrls []string

	// Slices running on the node
	SlicesRunning []common.Location

	// NodeLocation of the node
	NodeLocation common.Location

	// IndexAddressUtxos enables or disables address utxo indexing
	IndexAddressUtxos bool

	// DefaultGenesisHash is the hard coded genesis hash
	DefaultGenesisHash common.Hash
}

Config contains configuration options for of the ETH and LES protocols.

func (Config) MarshalTOML

func (c Config) MarshalTOML() (interface{}, error)

MarshalTOML marshals as TOML.

func (*Config) UnmarshalTOML

func (c *Config) UnmarshalTOML(unmarshal func(interface{}) error) error

UnmarshalTOML unmarshals from TOML.

type QuaiConfig

type QuaiConfig struct {
	Quai      Config
	Node      node.Config
	Quaistats QuaistatsConfig
	Metrics   metrics_config.Config
}

type QuaistatsConfig

type QuaistatsConfig struct {
	URL string `toml:",omitempty"`
}

Jump to

Keyboard shortcuts

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