modulepackage
1.4.2
Repository: https://github.com/ssvlabs/eth2-key-manager.git
Documentation: pkg.go.dev
# README
Eth Key Manager
Eth Key Manager is a library wrapping all major functionality an eth 2.0 validator will need:
- Multi storage implementations
- Signer
- Slashing protection
- HD wallet (EIP-2333,2334,2335 compliant)
- Tests
Installation
go get github.com/ssvlabs/eth2-key-manager
Security and Architecture
eth2keymanager
is the entry point to manage all operations, in it sits a unique wallet and accounts.
eth2keymanager
<- Wallet <- [Accounts]
An account is the entity that ultimately signs transactions.
Wallets and accounts are derived according to EIP-2334:
- Withdrawal key: m/12381/3600/account_index/0
- Validation key: m/12381/3600/account_index/0/0
The seed is needed just to execute specific operations like creating new accounts or signing with the withdrawal key.
Examples:
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
InitCrypto initializes cryptography.
NewKeyVault creates a new wallet (with new ids) and will save it to storage Import and New are the same action.
OpenKeyVault opens an existing KeyVault (and wallet) from memory.
# Structs
KeyVault is an EIP 2333,2334,2335 compliant hierarchical deterministic portfolio https://eips.ethereum.org/EIPS/eip-2333 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2334.md https://eips.ethereum.org/EIPS/eip-2335.
KeyVaultOptions contains options to create a new key vault object.