rpc

package
v5.1.3-rc.0 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2024 License: GPL-3.0 Imports: 64 Imported by: 0

Documentation

Overview

Package rpc defines a gRPC server implementing the Ethereum consensus API as needed by validator clients and consumers of chain data.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	ExecutionReconstructor    execution.Reconstructor
	Host                      string
	Port                      string
	CertFlag                  string
	KeyFlag                   string
	BeaconMonitoringHost      string
	BeaconMonitoringPort      int
	BeaconDB                  db.HeadAccessDatabase
	ChainInfoFetcher          blockchain.ChainInfoFetcher
	HeadFetcher               blockchain.HeadFetcher
	CanonicalFetcher          blockchain.CanonicalFetcher
	ForkFetcher               blockchain.ForkFetcher
	ForkchoiceFetcher         blockchain.ForkchoiceFetcher
	FinalizationFetcher       blockchain.FinalizationFetcher
	AttestationReceiver       blockchain.AttestationReceiver
	BlockReceiver             blockchain.BlockReceiver
	BlobReceiver              blockchain.BlobReceiver
	ExecutionChainService     execution.Chain
	ChainStartFetcher         execution.ChainStartFetcher
	ExecutionChainInfoFetcher execution.ChainInfoFetcher
	GenesisTimeFetcher        blockchain.TimeFetcher
	GenesisFetcher            blockchain.GenesisFetcher
	MockEth1Votes             bool
	EnableDebugRPCEndpoints   bool
	AttestationsPool          attestations.Pool
	ExitPool                  voluntaryexits.PoolManager
	SlashingsPool             slashings.PoolManager
	SyncCommitteeObjectPool   synccommittee.Pool
	BLSChangesPool            blstoexec.PoolManager
	SyncService               chainSync.Checker
	Broadcaster               p2p.Broadcaster
	PeersFetcher              p2p.PeersProvider
	PeerManager               p2p.PeerManager
	MetadataProvider          p2p.MetadataProvider
	DepositFetcher            cache.DepositFetcher
	PendingDepositFetcher     depositsnapshot.PendingDepositsFetcher
	StateNotifier             statefeed.Notifier
	BlockNotifier             blockfeed.Notifier
	OperationNotifier         opfeed.Notifier
	StateGen                  *stategen.State
	MaxMsgSize                int
	ExecutionEngineCaller     execution.EngineCaller
	OptimisticModeFetcher     blockchain.OptimisticModeFetcher
	BlockBuilder              builder.BlockBuilder
	Router                    *http.ServeMux
	ClockWaiter               startup.ClockWaiter
	BlobStorage               *filesystem.BlobStorage
	TrackedValidatorsCache    *cache.TrackedValidatorsCache
	PayloadIDCache            *cache.PayloadIDCache
}

Config options for the beacon node RPC server.

type Service

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

Service defining an RPC server for a beacon node.

func NewService

func NewService(ctx context.Context, cfg *Config) *Service

NewService instantiates a new RPC service instance that will be registered into a running beacon node.

func (*Service) Start

func (s *Service) Start()

Start the gRPC server.

func (*Service) Status

func (s *Service) Status() error

Status returns nil or credentialError

func (*Service) Stop

func (s *Service) Stop() error

Stop the service.

Directories

Path Synopsis
eth
beacon
Package beacon defines a gRPC beacon service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
Package beacon defines a gRPC beacon service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
debug
Package debug defines a gRPC beacon service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
Package debug defines a gRPC beacon service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
events
Package events defines a gRPC events service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
Package events defines a gRPC events service implementation, following the official API standards https://ethereum.github.io/beacon-apis/#/.
node
Package node defines a gRPC node service implementation, providing useful endpoints for checking a node's sync status, peer info, genesis data, and version information.
Package node defines a gRPC node service implementation, providing useful endpoints for checking a node's sync status, peer info, genesis data, and version information.
prysm
v1alpha1/beacon
Package beacon defines a gRPC beacon service implementation, providing useful endpoints for checking fetching chain-specific data such as blocks, committees, validators, assignments, and more.
Package beacon defines a gRPC beacon service implementation, providing useful endpoints for checking fetching chain-specific data such as blocks, committees, validators, assignments, and more.
v1alpha1/debug
Package debug defines a gRPC server implementation of a debugging service which allows for helpful endpoints to debug a beacon node at runtime, this server is gated behind the feature flag --enable-debug-rpc-endpoints.
Package debug defines a gRPC server implementation of a debugging service which allows for helpful endpoints to debug a beacon node at runtime, this server is gated behind the feature flag --enable-debug-rpc-endpoints.
v1alpha1/node
Package node defines a gRPC node service implementation, providing useful endpoints for checking a node's sync status, peer info, genesis data, and version information.
Package node defines a gRPC node service implementation, providing useful endpoints for checking a node's sync status, peer info, genesis data, and version information.
v1alpha1/validator
Package validator defines a gRPC validator service implementation, providing critical endpoints for validator clients to submit blocks/attestations to the beacon node, receive assignments, and more.
Package validator defines a gRPC validator service implementation, providing critical endpoints for validator clients to submit blocks/attestations to the beacon node, receive assignments, and more.

Jump to

Keyboard shortcuts

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