key
Package key provides cryptographic key generation and management.
import "github.com/luxfi/sdk/key"Package key provides cryptographic key generation and management.
Functions
DeriveKey
func DeriveKey(mnemonic []string, index uint32) (crypto.PrivateKey, error)DeriveKey derives a key from a mnemonic at the given index
ExportKey
func ExportKey(key *Key, format string, writer io.Writer) errorExportKey exports a key in various formats
GenerateMnemonic
func GenerateMnemonic(bitSize int) ([]string, error)GenerateMnemonic generates a mnemonic phrase
Types
Key
Key represents a cryptographic key with metadata
func LoadSoft(networkID uint32, keyPath string) (*Key, error)func (k *Key) C() stringfunc (k *Key) PrivKeyHex() stringKeychain
Keychain manages a collection of private keys for signing
func NewKeychain() *Keychainfunc (kc *Keychain) Add(privateKey crypto.PrivateKey) errorfunc (kc *Keychain) Addresses() []ids.ShortIDfunc (kc *Keychain) Get(address ids.ShortID) (crypto.PrivateKey, error)func (kc *Keychain) Sign(message []byte, address ids.ShortID) (crypto.Signature, error)Manager
Manager handles key generation, storage, and retrieval
func NewManager(keyDir string) (*Manager, error)func (m *Manager) Delete(keyID ids.ID) errorfunc (m *Manager) DeleteKey(keyID ids.ID) errorfunc (m *Manager) ExportKey(keyID ids.ID) (string, error)func (m *Manager) GenerateBLS() (*Key, *bls.SecretKey, error)func (m *Manager) GenerateEd25519() (*Key, error)func (m *Manager) GenerateKey(keyType string) (*Key, error)func (m *Manager) Get(keyID ids.ID) (*Key, error)func (m *Manager) GetByAddress(address ids.ShortID) (*Key, error)func (m *Manager) GetKey(keyID ids.ID) (*Key, error)func (m *Manager) ImportKey(privateKey crypto.PrivateKey, keyType string) (*Key, error)func (m *Manager) ImportPrivateKey(privateKey crypto.PrivateKey) (*Key, error)func (m *Manager) List() []*Keyfunc (m *Manager) ListKeys() []*Keyfunc (m *Manager) Save(keyID ids.ID) errorfunc (m *Manager) SaveAll() errorfunc (m *Manager) SaveKey(key *Key) error