Lux SDKGoPackages

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) error

ExportKey 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() string
func (k *Key) PrivKeyHex() string

Keychain

Keychain manages a collection of private keys for signing

func NewKeychain() *Keychain
func (kc *Keychain) Add(privateKey crypto.PrivateKey) error
func (kc *Keychain) Addresses() []ids.ShortID
func (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) error
func (m *Manager) DeleteKey(keyID ids.ID) error
func (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() []*Key
func (m *Manager) ListKeys() []*Key
func (m *Manager) Save(keyID ids.ID) error
func (m *Manager) SaveAll() error
func (m *Manager) SaveKey(key *Key) error