Documentation ¶
Overview ¶
Package node is the main service which launches a beacon node and manages the lifecycle of all its associated services at runtime, such as p2p, RPC, sync, gracefully closing them if the process ends.
Index ¶
- type BeaconNode
- type Option
- func WithBlobRetentionEpochs(e primitives.Epoch) Option
- func WithBlobStorage(bs *filesystem.BlobStorage) Option
- func WithBlobStorageOptions(opt ...filesystem.BlobStorageOption) Option
- func WithBlockchainFlagOptions(opts []blockchain.Option) Option
- func WithBuilderFlagOptions(opts []builder.Option) Option
- func WithExecutionChainOptions(opts []execution.Option) Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BeaconNode ¶
type BeaconNode struct { GenesisInitializer genesis.Initializer CheckpointInitializer checkpoint.Initializer BackfillOpts []backfill.ServiceOption BlobStorage *filesystem.BlobStorage BlobStorageOptions []filesystem.BlobStorageOption // contains filtered or unexported fields }
BeaconNode defines a struct that handles the services running a random beacon chain full PoS node. It handles the lifecycle of the entire system and registers services to a service registry.
func New ¶
func New(cliCtx *cli.Context, cancel context.CancelFunc, opts ...Option) (*BeaconNode, error)
New creates a new node instance, sets up configuration options, and registers every required service to the node.
func (*BeaconNode) BlockFeed ¶
func (b *BeaconNode) BlockFeed() *event.Feed
BlockFeed implements blockfeed.Notifier.
func (*BeaconNode) Close ¶
func (b *BeaconNode) Close()
Close handles graceful shutdown of the system.
func (*BeaconNode) OperationFeed ¶
func (b *BeaconNode) OperationFeed() *event.Feed
OperationFeed implements opfeed.Notifier.
func (*BeaconNode) Start ¶
func (b *BeaconNode) Start()
Start the BeaconNode and kicks off every registered service.
func (*BeaconNode) StateFeed ¶
func (b *BeaconNode) StateFeed() *event.Feed
StateFeed implements statefeed.Notifier.
type Option ¶
type Option func(bn *BeaconNode) error
Option for beacon node configuration.
func WithBlobRetentionEpochs ¶
func WithBlobRetentionEpochs(e primitives.Epoch) Option
WithBlobRetentionEpochs sets the blobRetentionEpochs value, used in kv store initialization.
func WithBlobStorage ¶
func WithBlobStorage(bs *filesystem.BlobStorage) Option
WithBlobStorage sets the BlobStorage backend for the BeaconNode
func WithBlobStorageOptions ¶
func WithBlobStorageOptions(opt ...filesystem.BlobStorageOption) Option
WithBlobStorageOptions appends 1 or more filesystem.BlobStorageOption on the beacon node, to be used when initializing blob storage.
func WithBlockchainFlagOptions ¶
func WithBlockchainFlagOptions(opts []blockchain.Option) Option
WithBlockchainFlagOptions includes functional options for the blockchain service related to CLI flags.
func WithBuilderFlagOptions ¶
WithBuilderFlagOptions includes functional options for the builder service related to CLI flags.
func WithExecutionChainOptions ¶
WithExecutionChainOptions includes functional options for the execution chain service related to CLI flags.