github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/config/ledger_config.go (about)

     1  package config
     2  
     3  // Ledger contains core node-specific settings that are not
     4  // a part of the ProtocolConfiguration (which is common for every node on the
     5  // network).
     6  type Ledger struct {
     7  	// GarbageCollectionPeriod sets the number of blocks to wait before
     8  	// starting the next MPT garbage collection cycle when RemoveUntraceableBlocks
     9  	// option is used.
    10  	GarbageCollectionPeriod uint32 `yaml:"GarbageCollectionPeriod"`
    11  	// KeepOnlyLatestState specifies if MPT should only store the latest state.
    12  	// If true, DB size will be smaller, but older roots won't be accessible.
    13  	// This value should remain the same for the same database.
    14  	KeepOnlyLatestState bool `yaml:"KeepOnlyLatestState"`
    15  	// RemoveUntraceableBlocks specifies if old data should be removed.
    16  	RemoveUntraceableBlocks bool `yaml:"RemoveUntraceableBlocks"`
    17  	// SaveStorageBatch enables storage batch saving before every persist.
    18  	SaveStorageBatch bool `yaml:"SaveStorageBatch"`
    19  	// SkipBlockVerification allows to disable verification of received
    20  	// blocks (including cryptographic checks).
    21  	SkipBlockVerification bool `yaml:"SkipBlockVerification"`
    22  }
    23  
    24  // Blockchain is a set of settings for core.Blockchain to use, it includes protocol
    25  // settings and local node-specific ones.
    26  type Blockchain struct {
    27  	ProtocolConfiguration
    28  	Ledger
    29  }