slashingprotection

package
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2021 License: GPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExportSlashingProtectionJSONCli

func ExportSlashingProtectionJSONCli(cliCtx *cli.Context) error

ExportSlashingProtectionJSONCli extracts a validator's slashing protection history from their database and formats it into an EIP-3076 standard JSON file via a CLI entrypoint to make it easy to migrate machines or Ethereum consensus clients.

Steps: 1. Parse a path to the validator's datadir from the CLI context. 2. Open the validator database. 3. Call the function which actually exports the data from from the validator's db into an EIP standard slashing protection format 4. Format and save the JSON file to a user's specified output directory.

func ImportSlashingProtectionCLI

func ImportSlashingProtectionCLI(cliCtx *cli.Context) error

ImportSlashingProtectionCLI reads an input slashing protection EIP-3076 standard JSON file and attempts to insert its data into our validator DB.

Steps: 1. Parse a path to the validator's datadir from the CLI context. 2. Open the validator database. 3. Read the JSON file from user input. 4. Call the function which actually imports the data from from the standard slashing protection JSON file into our database.

Types

type Config

type Config struct {
	Endpoint                   string
	CertFlag                   string
	GrpcMaxCallRecvMsgSizeFlag int
	GrpcRetriesFlag            uint
	GrpcRetryDelay             time.Duration
	GrpcHeadersFlag            string
}

Config for the validator service.

type Service

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

Service represents a service to manage the validator �slashing protection.

func NewService

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

NewService creates a new validator service for the service registry.

func (*Service) CheckAttestationSafety

func (s *Service) CheckAttestationSafety(ctx context.Context, attestation *ethpb.IndexedAttestation) bool

CheckAttestationSafety for attestations before submitting them to the node.

func (*Service) CheckBlockSafety

func (s *Service) CheckBlockSafety(ctx context.Context, blockHeader *ethpb.SignedBeaconBlockHeader) bool

CheckBlockSafety for blocks before submitting them to the node.

func (*Service) Start

func (s *Service) Start()

Start the slasher protection service and grpc client.

func (*Service) Status

func (s *Service) Status() error

Status checks if the connection to slasher server is ready, returns error otherwise.

func (*Service) Stop

func (s *Service) Stop() error

Stop the validator service.

Directories

Path Synopsis
local
standard-protection-format/format
Package format defines methods to parse, import, and export slashing protection data from a standard JSON file according to EIP-3076 https://eips.ethereum.org/EIPS/eip-3076.
Package format defines methods to parse, import, and export slashing protection data from a standard JSON file according to EIP-3076 https://eips.ethereum.org/EIPS/eip-3076.

Jump to

Keyboard shortcuts

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