Documentation
¶
Overview ¶
Package client defines the entire lifecycle of a validator in eth2 – it is responsible for interacting with a beacon node to determine and perform validator duties.
Package client represents the functionality to act as a validator.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConstructDialOptions ¶
func ConstructDialOptions( maxCallRecvMsgSize int, withCert string, grpcHeaders []string, grpcRetries uint, extraOpts ...grpc.DialOption, ) []grpc.DialOption
ConstructDialOptions constructs a list of grpc dial options
Types ¶
type Config ¶
type Config struct {
Endpoint string
DataDir string
CertFlag string
GraffitiFlag string
KeyManager keymanager.KeyManager
LogValidatorBalances bool
EmitAccountMetrics bool
GrpcMaxCallRecvMsgSizeFlag int
GrpcRetriesFlag uint
GrpcHeadersFlag string
Protector slashingprotection.Protector
}
Config for the validator service.
type Validator ¶
type Validator interface {
Done()
WaitForChainStart(ctx context.Context) error
WaitForSync(ctx context.Context) error
WaitForSynced(ctx context.Context) error
WaitForActivation(ctx context.Context) error
CanonicalHeadSlot(ctx context.Context) (uint64, error)
NextSlot() <-chan uint64
SlotDeadline(slot uint64) time.Time
LogValidatorGainsAndLosses(ctx context.Context, slot uint64) error
UpdateDuties(ctx context.Context, slot uint64) error
UpdateProtections(ctx context.Context, slot uint64) error
RolesAt(ctx context.Context, slot uint64) (map[[48]byte][]validatorRole, error) // validator pubKey -> roles
SubmitAttestation(ctx context.Context, slot uint64, pubKey [48]byte)
ProposeBlock(ctx context.Context, slot uint64, pubKey [48]byte)
SubmitAggregateAndProof(ctx context.Context, slot uint64, pubKey [48]byte)
LogAttestationsSubmitted()
SaveProtections(ctx context.Context) error
UpdateDomainDataCaches(ctx context.Context, slot uint64)
}
Validator interface defines the primary methods of a validator client.
type ValidatorService ¶
type ValidatorService struct {
// contains filtered or unexported fields
}
ValidatorService represents a service to manage the validator client routine.
func NewValidatorService ¶
func NewValidatorService(ctx context.Context, cfg *Config) (*ValidatorService, error)
NewValidatorService creates a new validator service for the service registry.
func (*ValidatorService) Start ¶
func (v *ValidatorService) Start()
Start the validator service. Launches the main go routine for the validator client.
func (*ValidatorService) Status ¶
func (v *ValidatorService) Status() error
Status ...
WIP - not done.