accounts

package
v1.0.0-alpha.27 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2020 License: GPL-3.0 Imports: 24 Imported by: 0

Documentation

Overview

Package accounts defines tools to manage an encrypted validator keystore.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChangePassword

func ChangePassword(keystorePath string, oldPassword string, newPassword string) error

ChangePassword changes the password for all keys located in a keystore. Password is changed only for keys that can be decrypted using the old password.

func CreateValidatorAccount

func CreateValidatorAccount(path string, passphrase string) (string, string, error)

CreateValidatorAccount creates a validator account from the given cli context.

func DecryptKeysFromKeystore

func DecryptKeysFromKeystore(directory string, filePrefix string, password string) (map[string]*keystore.Key, error)

DecryptKeysFromKeystore extracts a set of validator private keys from an encrypted keystore directory and a password string.

func DefaultValidatorDir

func DefaultValidatorDir() string

DefaultValidatorDir returns OS-specific default keystore directory.

func Exists

func Exists(keystorePath string, assertNonEmpty bool) (bool, error)

Exists checks if a validator account at a given keystore path exists. assertNonEmpty is a boolean used to determine whether to check that the provided directory exists.

func ExtractPublicKeysFromKeyStore

func ExtractPublicKeysFromKeyStore(keystorePath string, passphrase string) ([][]byte, error)

ExtractPublicKeysFromKeyStore extracts only the public keys from the decrypted keys from the keystore.

func HandleEmptyKeystoreFlags

func HandleEmptyKeystoreFlags(cliCtx *cli.Context, confirmPassword bool) (string, string, error)

HandleEmptyKeystoreFlags checks what the set flags are and allows the user to manually enter them if they're empty.

func Merge

func Merge(ctx context.Context, sourceDirectories []string, targetDirectory string) (err error)

Merge merges data from validator databases in sourceDirectories into a new store, which is created in targetDirectory.

func NewValidatorAccount

func NewValidatorAccount(directory string, password string) error

NewValidatorAccount sets up a validator client's secrets and generates the necessary deposit data parameters needed to deposit into the deposit contract on the ETH1.0 chain. Specifically, this generates a BLS private and public key, and then logs the serialized deposit input hex string to be used in an ETH1.0 transaction by the validator.

func PrintPublicAndPrivateKeys

func PrintPublicAndPrivateKeys(path string, passphrase string) error

PrintPublicAndPrivateKeys uses the passed in path and prints out the public and private keys in that directory.

func RunStatusCommand

func RunStatusCommand(ctx context.Context, pubKeys [][]byte, beaconNodeRPCProvider ethpb.BeaconNodeValidatorClient) error

RunStatusCommand is the entry point to the `validator status` command.

func Split

func Split(ctx context.Context, sourceDirectory string, targetDirectory string) (err error)

Split splits data from one validator database in sourceDirectory into several validator databases. Each validator database is created in its own subdirectory inside targetDirectory.

func VerifyAccountNotExists

func VerifyAccountNotExists(directory string, password string) error

VerifyAccountNotExists checks if a validator has not yet created an account and keystore in the provided directory string.

Types

type ValidatorStatusMetadata

type ValidatorStatusMetadata struct {
	PublicKey []byte
	Index     uint64
	Metadata  *ethpb.ValidatorStatusResponse
}

ValidatorStatusMetadata holds all status information about a validator.

func FetchAccountStatuses

func FetchAccountStatuses(
	ctx context.Context,
	beaconClient ethpb.BeaconNodeValidatorClient,
	pubKeys [][]byte,
) ([]ValidatorStatusMetadata, error)

FetchAccountStatuses fetches validator statuses from the BeaconNodeValidatorClient for each validator public key.

Jump to

Keyboard shortcuts

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