Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrCannotSign = errors.New("cannot sign")
ErrCannotSign is returned whenever a signing attempt fails.
var ErrCouldSlash = errors.New("could result in a slashing event")
ErrCouldSlash is returned whenever a signing attempt is refused due to a potential slashing event.
var ErrNoSuchKey = errors.New("no such key")
ErrNoSuchKey is returned whenever a request is made for a key of which a key manager is unaware.
Functions ¶
This section is empty.
Types ¶
type Direct ¶
type Direct struct {
// contains filtered or unexported fields
}
Direct is a key manager that holds all secret keys directly.
func (*Direct) FetchValidatingKeys ¶
FetchValidatingKeys fetches the list of public keys that should be used to validate with.
type Interop ¶
type Interop struct {
*Direct
}
Interop is a key manager that deterministically generates keys.
type KeyManager ¶
type KeyManager interface { // FetchValidatingKeys fetches the list of public keys that should be used to validate with. FetchValidatingKeys() ([][48]byte, error) // Sign signs a message for the validator to broadcast. Sign(pubKey [48]byte, root [32]byte, domain uint64) (*bls.Signature, error) }
KeyManager controls access to private keys by the validator.
func NewKeystore ¶
func NewKeystore(input string) (KeyManager, string, error)
NewKeystore creates a key manager populated with the keys from the keystore at the given path.
type Keystore ¶
type Keystore struct {
*Direct
}
Keystore is a key manager that loads keys from a standard keystore.
type ProtectingKeyManager ¶ added in v0.3.2
type ProtectingKeyManager interface { // SignProposal signs a block proposal for the validator to broadcast. SignProposal(pubKey [48]byte, domain uint64, data *ethpb.BeaconBlockHeader) (*bls.Signature, error) // SignAttestation signs an attestation for the validator to broadcast. SignAttestation(pubKey [48]byte, domain uint64, data *ethpb.AttestationData) (*bls.Signature, error) }
ProtectingKeyManager provides access to a keymanager that protects its clients from slashing events.
type Unencrypted ¶
type Unencrypted struct {
*Direct
}
Unencrypted is a key manager that loads keys from an unencrypted store.
func NewUnencrypted ¶
func NewUnencrypted(input string) (*Unencrypted, string, error)
NewUnencrypted creates a keymanager from a file of unencrypted keys.
type Wallet ¶ added in v0.3.2
type Wallet struct {
// contains filtered or unexported fields
}
Wallet is a key manager that loads keys from a local Ethereum 2 wallet.
func (*Wallet) FetchValidatingKeys ¶ added in v0.3.2
FetchValidatingKeys fetches the list of public keys that should be used to validate with.