Documentation
¶
Index ¶
- type AccessNodeConfig
- type FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error)
- func (builder *FlowAccessNodeBuilder) BuildConsensusFollower() *FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) BuildExecutionSyncComponents() *FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) InitIDProviders()
- func (builder *FlowAccessNodeBuilder) Initialize() error
- func (builder *FlowAccessNodeBuilder) ParseFlags() error
- type PublicNetworkConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessNodeConfig ¶
type AccessNodeConfig struct {
ExecutionNodeAddress string // deprecated
HistoricalAccessRPCs []access.AccessAPIClient
PublicNetworkConfig PublicNetworkConfig
TxResultCacheSize uint
// contains filtered or unexported fields
}
AccessNodeConfig 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 DefaultAccessNodeConfig ¶
func DefaultAccessNodeConfig() *AccessNodeConfig
DefaultAccessNodeConfig defines all the default values for the AccessNodeConfig
type FlowAccessNodeBuilder ¶
type FlowAccessNodeBuilder struct {
*cmd.FlowNodeBuilder
*AccessNodeConfig
// components
FollowerState protocol.FollowerState
SyncCore *chainsync.Core
RpcEng *rpc.Engine
FollowerDistributor *consensuspubsub.FollowerDistributor
CollectionRPC access.AccessAPIClient
TransactionTimings *stdmap.TransactionTimings
CollectionsToMarkFinalized *stdmap.Times
CollectionsToMarkExecuted *stdmap.Times
BlocksToMarkExecuted *stdmap.Times
BlockTransactions *stdmap.IdentifierMap
TransactionMetrics *metrics.TransactionCollector
TransactionValidationMetrics *metrics.TransactionValidationCollector
RestMetrics *metrics.RestCollector
AccessMetrics module.AccessMetrics
PingMetrics module.PingMetrics
Committee hotstuff.DynamicCommittee
Finalized *flow.Header // latest finalized block that the node knows of at startup time
Pending []*flow.Header
FollowerCore module.HotStuffFollower
Validator hotstuff.Validator
ExecutionDataDownloader execution_data.Downloader
PublicBlobService network.BlobService
ExecutionDataRequester state_synchronization.ExecutionDataRequester
ExecutionDataStore execution_data.ExecutionDataStore
ExecutionDataBlobstore blobs.Blobstore
ExecutionDataCache *execdatacache.ExecutionDataCache
ExecutionIndexer *indexer.Indexer
ExecutionIndexerCore *indexer.IndexerCore
ScriptExecutor *backend.ScriptExecutor
RegistersAsyncStore *execution.RegistersAsyncStore
Reporter *index.Reporter
EventsIndex *index.EventsIndex
TxResultsIndex *index.TransactionResultsIndex
IndexerDependencies *cmd.DependencyList
ExecutionDataPruner *pruner.Pruner
ExecutionDatastoreManager edstorage.DatastoreManager
ExecutionDataTracker tracker.Storage
VersionControl *version.VersionControl
StopControl *stop.StopControl
// The sync engine participants provider is the libp2p peer store for the access node
// which is not 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
IngestEng *ingestion.Engine
RequestEng *requester.Engine
FollowerEng *followereng.ComplianceEngine
SyncEng *synceng.Engine
StateStreamEng *statestreambackend.Engine
ExecNodeIdentitiesProvider *commonrpc.ExecutionNodeIdentitiesProvider
TxResultErrorMessagesCore *tx_error_messages.TxErrorMessagesCore
// contains filtered or unexported fields
}
FlowAccessNodeBuilder provides the common functionality needed to bootstrap a Flow access node It is composed of the FlowNodeBuilder, the AccessNodeConfig and contains all the components and modules needed for the access nodes
func FlowAccessNode ¶
func FlowAccessNode(nodeBuilder *cmd.FlowNodeBuilder) *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) Build ¶
func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error)
func (*FlowAccessNodeBuilder) BuildConsensusFollower ¶
func (builder *FlowAccessNodeBuilder) BuildConsensusFollower() *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) BuildExecutionSyncComponents ¶ added in v0.32.0
func (builder *FlowAccessNodeBuilder) BuildExecutionSyncComponents() *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) InitIDProviders ¶ added in v0.27.0
func (builder *FlowAccessNodeBuilder) InitIDProviders()
func (*FlowAccessNodeBuilder) Initialize ¶ added in v0.27.0
func (builder *FlowAccessNodeBuilder) Initialize() error
func (*FlowAccessNodeBuilder) ParseFlags ¶
func (builder *FlowAccessNodeBuilder) ParseFlags() error
type PublicNetworkConfig ¶ added in v0.23.9
type PublicNetworkConfig struct {
// NetworkKey crypto.PublicKey // TODO: do we need a different key for the public network?
BindAddress string
Network network.EngineRegistry
Metrics module.NetworkMetrics
}
Click to show internal directories.
Click to hide internal directories.