cosmos-sdk: github.com/cosmos/cosmos-sdk/crypto/keys/hd Index | Files

package hd

import "github.com/cosmos/cosmos-sdk/crypto/keys/hd"

Package hd provides basic functionality Hierarchical Deterministic Wallets.

The user must understand the overall concept of the BIP 32 and the BIP 44 specs:

https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

In combination with the bip39 package in go-crypto this package provides the functionality for deriving keys using a BIP 44 HD path, or, more general, by passing a BIP 32 path.

In particular, this package (together with bip39) provides all necessary functionality to derive keys from mnemonics generated during the cosmos fundraiser.

Index

Package Files

hdpath.go

func ComputeMastersFromSeed Uses

func ComputeMastersFromSeed(seed []byte) (secret [32]byte, chainCode [32]byte)

ComputeMastersFromSeed returns the master public key, master secret, and chain code in hex.

func DerivePrivateKeyForPath Uses

func DerivePrivateKeyForPath(privKeyBytes [32]byte, chainCode [32]byte, path string) ([32]byte, error)

DerivePrivateKeyForPath derives the private key by following the BIP 32/44 path from privKeyBytes, using the given chainCode.

type BIP44Params Uses

type BIP44Params struct {
    Purpose      uint32 `json:"purpose"`
    CoinType     uint32 `json:"coinType"`
    Account      uint32 `json:"account"`
    Change       bool   `json:"change"`
    AddressIndex uint32 `json:"addressIndex"`
}

BIP44Params wraps BIP 44 params (5 level BIP 32 path). To receive a canonical string representation ala m / purpose' / coinType' / account' / change / addressIndex call String() on a BIP44Params instance.

func NewFundraiserParams Uses

func NewFundraiserParams(account, coinType, addressIdx uint32) *BIP44Params

NewFundraiserParams creates a BIP 44 parameter object from the params: m / 44' / coinType' / account' / 0 / address_index The fixed parameters (purpose', coin_type', and change) are determined by what was used in the fundraiser.

func NewParams Uses

func NewParams(purpose, coinType, account uint32, change bool, addressIdx uint32) *BIP44Params

NewParams creates a BIP 44 parameter object from the params: m / purpose' / coinType' / account' / change / addressIndex

func NewParamsFromPath Uses

func NewParamsFromPath(path string) (*BIP44Params, error)

Parse the BIP44 path and unmarshal into the struct.

func (BIP44Params) DerivationPath Uses

func (p BIP44Params) DerivationPath() []uint32

DerivationPath returns the BIP44 fields as an array.

func (BIP44Params) String Uses

func (p BIP44Params) String() string

Package hd imports 9 packages (graph) and is imported by 6 packages. Updated 2019-11-02. Refresh now. Tools for package owners.