node_builder

package
v0.36.3-crescendo-prev... Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2024 License: AGPL-3.0 Imports: 105 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ObserverServiceBuilder

type ObserverServiceBuilder struct {
	*cmd.FlowNodeBuilder
	*ObserverServiceConfig

	LibP2PNode           p2p.LibP2PNode
	FollowerState        stateprotocol.FollowerState
	SyncCore             *chainsync.Core
	RpcEng               *rpc.Engine
	TransactionTimings   *stdmap.TransactionTimings
	FollowerDistributor  *pubsub.FollowerDistributor
	Committee            hotstuff.DynamicCommittee
	Finalized            *flow.Header
	Pending              []*flow.Header
	FollowerCore         module.HotStuffFollower
	ExecutionIndexer     *indexer.Indexer
	ExecutionIndexerCore *indexer.IndexerCore
	TxResultsIndex       *index.TransactionResultsIndex
	IndexerDependencies  *cmd.DependencyList

	ExecutionDataDownloader execution_data.Downloader
	ExecutionDataRequester  state_synchronization.ExecutionDataRequester
	ExecutionDataStore      execution_data.ExecutionDataStore
	ExecutionDataBlobstore  blobs.Blobstore
	ExecutionDataPruner     *pruner.Pruner
	ExecutionDataDatastore  *badger.Datastore
	ExecutionDataTracker    tracker.Storage

	RegistersAsyncStore *execution.RegistersAsyncStore
	Reporter            *index.Reporter
	EventsIndex         *index.EventsIndex
	ScriptExecutor      *backend.ScriptExecutor

	// available until after the network has started. Hence, a factory function that needs to be called just before
	// creating the sync engine
	SyncEngineParticipantsProviderFactory func() module.IdentifierProvider

	// engines
	FollowerEng    *follower.ComplianceEngine
	SyncEng        *synceng.Engine
	StateStreamEng *statestreambackend.Engine

	TransactionMetrics *metrics.TransactionCollector
	RestMetrics        *metrics.RestCollector
	AccessMetrics      module.AccessMetrics
	// contains filtered or unexported fields
}

ObserverServiceBuilder provides the common functionality needed to bootstrap a Flow observer service It is composed of the FlowNodeBuilder, the ObserverServiceConfig and contains all the components and modules needed for the observers

func NewFlowObserverServiceBuilder

func NewFlowObserverServiceBuilder(opts ...Option) *ObserverServiceBuilder

func (*ObserverServiceBuilder) Build

func (builder *ObserverServiceBuilder) Build() (cmd.Node, error)

Build enqueues the sync engine and the follower engine for the observer. Currently, the observer only runs the follower engine.

func (*ObserverServiceBuilder) BuildConsensusFollower

func (builder *ObserverServiceBuilder) BuildConsensusFollower() cmd.NodeBuilder

func (*ObserverServiceBuilder) BuildExecutionSyncComponents added in v0.33.12

func (builder *ObserverServiceBuilder) BuildExecutionSyncComponents() *ObserverServiceBuilder

func (*ObserverServiceBuilder) InitIDProviders

func (builder *ObserverServiceBuilder) InitIDProviders()

func (*ObserverServiceBuilder) Initialize

func (builder *ObserverServiceBuilder) Initialize() error

func (*ObserverServiceBuilder) ParseFlags

func (builder *ObserverServiceBuilder) ParseFlags() error

type ObserverServiceConfig

type ObserverServiceConfig struct {
	// contains filtered or unexported fields
}

ObserverServiceConfig defines all the user defined parameters required to bootstrap an access node For a node running as a standalone process, the config fields will be populated from the command line params, while for a node running as a library, the config fields are expected to be initialized by the caller.

func DefaultObserverServiceConfig

func DefaultObserverServiceConfig() *ObserverServiceConfig

DefaultObserverServiceConfig defines all the default values for the ObserverServiceConfig

type Option

type Option func(*ObserverServiceConfig)

Jump to

Keyboard shortcuts

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