Documentation ¶
Index ¶
Constants ¶
const ( // AccountKVNamespace is the bucket name for account AccountKVNamespace = "Account" // ArchiveNamespacePrefix is the prefix of the buckets storing history data ArchiveNamespacePrefix = "Archive" // CurrentHeightKey indicates the key of current factory height in underlying DB CurrentHeightKey = "currentHeight" // ArchiveTrieNamespace is the bucket for the latest state view ArchiveTrieNamespace = "AccountTrie" // ArchiveTrieRootKey indicates the key of accountTrie root hash in underlying DB ArchiveTrieRootKey = "archiveTrieRoot" )
Variables ¶
var ( // ErrNotSupported is the error that the statedb is not for archive mode ErrNotSupported = errors.New("not supported") // ErrNoArchiveData is the error that the node have no archive data ErrNoArchiveData = errors.New("no archive data") //DefaultConfig is the default config for state factory DefaultConfig = Config{ Chain: blockchain.DefaultConfig, Genesis: genesis.Default, } )
Functions ¶
func NewMinter ¶
func NewMinter(f Factory, ap actpool.ActPool, opts ...MintOption) blockchain.BlockBuilderFactory
NewMinter creates a wrapper instance
Types ¶
type Config ¶
type Config struct { Chain blockchain.Config Genesis genesis.Genesis }
Config contains the config for factory
func GenerateConfig ¶
func GenerateConfig(chain blockchain.Config, g genesis.Genesis) Config
GenerateConfig generates the factory config
type Factory ¶
type Factory interface { lifecycle.StartStopper protocol.StateReader Register(protocol.Protocol) error Validate(context.Context, *block.Block) error // NewBlockBuilder creates block builder NewBlockBuilder(context.Context, actpool.ActPool, func(action.Envelope) (*action.SealedEnvelope, error)) (*block.Builder, error) PutBlock(context.Context, *block.Block) error DeleteTipBlock(context.Context, *block.Block) error WorkingSet(context.Context) (protocol.StateManager, error) WorkingSetAtHeight(context.Context, uint64) (protocol.StateManager, error) }
Factory defines an interface for managing states
func NewFactory ¶
NewFactory creates a new state factory
func NewStateDB ¶
NewStateDB creates a new state db
type MintOption ¶ added in v2.0.8
type MintOption func(*minter)
func WithTimeoutOption ¶ added in v2.0.8
func WithTimeoutOption(timeout time.Duration) MintOption
WithTimeoutOption sets the timeout for NewBlockBuilder
type Option ¶
Option sets Factory construction parameter
func DefaultTriePatchOption ¶
func DefaultTriePatchOption() Option
DefaultTriePatchOption loads patchs
func RegistryOption ¶
RegistryOption sets the registry in state db
func SkipBlockValidationOption ¶
func SkipBlockValidationOption() Option
SkipBlockValidationOption skips block validation on PutBlock
type StateDBOption ¶
StateDBOption sets stateDB construction parameter
func DisableWorkingSetCacheOption ¶
func DisableWorkingSetCacheOption() StateDBOption
DisableWorkingSetCacheOption disable workingset cache
func RegistryStateDBOption ¶
func RegistryStateDBOption(reg *protocol.Registry) StateDBOption
RegistryStateDBOption sets the registry in state db
func SkipBlockValidationStateDBOption ¶
func SkipBlockValidationStateDBOption() StateDBOption
SkipBlockValidationStateDBOption skips block validation on PutBlock