Documentation ¶
Index ¶
- type AccessNodeConfig
- type FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error)
- func (builder *FlowAccessNodeBuilder) BuildConsensusFollower() *FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) BuildExecutionDataRequester() *FlowAccessNodeBuilder
- func (builder *FlowAccessNodeBuilder) InitIDProviders()
- func (builder *FlowAccessNodeBuilder) Initialize() error
- func (builder *FlowAccessNodeBuilder) ParseFlags() error
- type Option
- 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 // 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 LibP2PNode *p2p.Node FollowerState protocol.MutableState SyncCore *chainsync.Core RpcEng *rpc.Engine FinalizationDistributor *consensuspubsub.FinalizationDistributor FinalizedHeader *synceng.FinalizedHeaderCache CollectionRPC access.AccessAPIClient TransactionTimings *stdmap.TransactionTimings CollectionsToMarkFinalized *stdmap.Times CollectionsToMarkExecuted *stdmap.Times BlocksToMarkExecuted *stdmap.Times TransactionMetrics module.TransactionMetrics AccessMetrics module.AccessMetrics PingMetrics module.PingMetrics Committee hotstuff.Committee Finalized *flow.Header Pending []*flow.Header FollowerCore module.HotStuffFollower ExecutionDataDownloader execution_data.Downloader ExecutionDataRequester state_synchronization.ExecutionDataRequester // 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() id.IdentifierProvider // engines IngestEng *ingestion.Engine RequestEng *requester.Engine FollowerEng *followereng.Engine SyncEng *synceng.Engine }
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(opts ...Option) *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) Build ¶
func (builder *FlowAccessNodeBuilder) Build() (cmd.Node, error)
func (*FlowAccessNodeBuilder) BuildConsensusFollower ¶
func (builder *FlowAccessNodeBuilder) BuildConsensusFollower() *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) BuildExecutionDataRequester ¶ added in v0.26.2
func (builder *FlowAccessNodeBuilder) BuildExecutionDataRequester() *FlowAccessNodeBuilder
func (*FlowAccessNodeBuilder) InitIDProviders ¶ added in v0.27.0
func (builder *FlowAccessNodeBuilder) InitIDProviders()
accessNodeBuilder builds a staked access node. The access node can optionally participate in the public network publishing data for the observers downstream.
func (*FlowAccessNodeBuilder) Initialize ¶ added in v0.27.0
func (builder *FlowAccessNodeBuilder) Initialize() error
func (*FlowAccessNodeBuilder) ParseFlags ¶
func (builder *FlowAccessNodeBuilder) ParseFlags() error
type Option ¶
type Option func(*AccessNodeConfig)
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.Network Metrics module.NetworkMetrics }