2022-12-06 13:34:38 +00:00
|
|
|
package config
|
|
|
|
|
|
|
|
// Ledger contains core node-specific settings that are not
|
|
|
|
// a part of the ProtocolConfiguration (which is common for every node on the
|
|
|
|
// network).
|
|
|
|
type Ledger struct {
|
|
|
|
// GarbageCollectionPeriod sets the number of blocks to wait before
|
|
|
|
// starting the next MPT garbage collection cycle when RemoveUntraceableBlocks
|
|
|
|
// option is used.
|
|
|
|
GarbageCollectionPeriod uint32 `yaml:"GarbageCollectionPeriod"`
|
|
|
|
// KeepOnlyLatestState specifies if MPT should only store the latest state.
|
|
|
|
// If true, DB size will be smaller, but older roots won't be accessible.
|
|
|
|
// This value should remain the same for the same database.
|
|
|
|
KeepOnlyLatestState bool `yaml:"KeepOnlyLatestState"`
|
|
|
|
// RemoveUntraceableBlocks specifies if old data should be removed.
|
|
|
|
RemoveUntraceableBlocks bool `yaml:"RemoveUntraceableBlocks"`
|
2024-12-12 15:27:07 +00:00
|
|
|
// RemoveUntraceableHeaders is used in addition to RemoveUntraceableBlocks
|
|
|
|
// when headers need to be removed as well.
|
|
|
|
RemoveUntraceableHeaders bool `yaml:"RemoveUntraceableHeaders"`
|
2022-12-06 13:34:38 +00:00
|
|
|
// SaveStorageBatch enables storage batch saving before every persist.
|
|
|
|
SaveStorageBatch bool `yaml:"SaveStorageBatch"`
|
2022-12-06 15:13:40 +00:00
|
|
|
// SkipBlockVerification allows to disable verification of received
|
|
|
|
// blocks (including cryptographic checks).
|
|
|
|
SkipBlockVerification bool `yaml:"SkipBlockVerification"`
|
2022-12-06 13:34:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Blockchain is a set of settings for core.Blockchain to use, it includes protocol
|
|
|
|
// settings and local node-specific ones.
|
|
|
|
type Blockchain struct {
|
|
|
|
ProtocolConfiguration
|
|
|
|
Ledger
|
|
|
|
}
|