Documentation ¶
Index ¶
Constants ¶
View Source
const ( // FirstHardenedChild is the index of the firxt "harded" child key as per the // bip32 spec FirstHardenedChild = uint32(0x80000000) // PublicKeyCompressedLength is the byte count of a compressed public key PublicKeyCompressedLength = 33 )
Variables ¶
View Source
var ( DefaultBip32Version = Bip32Version{ []byte{0x04, 0x88, 0xad, 0xe4}, []byte{0x04, 0x88, 0xb2, 0x1e}, } // ErrSerializedKeyWrongSize is returned when trying to deserialize a key that // has an incorrect length ErrSerializedKeyWrongSize = errors.New("Serialized keys should by exactly 82 bytes") // ErrHardnedChildPublicKey is returned when trying to create a harded child // of the public key ErrHardnedChildPublicKey = errors.New("Can't create hardened child for public key") // ErrInvalidChecksum is returned when deserializing a key with an incorrect // checksum ErrInvalidChecksum = errors.New("Checksum doesn't match") // ErrInvalidPrivateKey is returned when a derived private key is invalid ErrInvalidPrivateKey = errors.New("Invalid private key") // ErrInvalidPublicKey is returned when a derived public key is invalid ErrInvalidPublicKey = errors.New("Invalid public key") )
Functions ¶
Types ¶
type Bip32Version ¶
func (Bip32Version) IsPrivkeyVersion ¶
func (v Bip32Version) IsPrivkeyVersion(privKeyVer []byte) bool
func (Bip32Version) IsPubkeyVersion ¶
func (v Bip32Version) IsPubkeyVersion(pukKeyVer []byte) bool
type Key ¶
type Key struct { Key []byte // 33 bytes Version []byte // 4 bytes ChildNumber []byte // 4 bytes FingerPrint []byte // 4 bytes ChainCode []byte // 32 bytes Depth byte // 1 bytes IsPrivate bool // unserialized Bip32Ver Bip32Version //unserialized }
Key represents a bip32 extended key
func B58Deserialize ¶
func B58Deserialize(data string, version Bip32Version) (*Key, error)
B58Deserialize deserializes a Key encoded in base58 encoding
func Deserialize ¶
func Deserialize2 ¶
func Deserialize2(data []byte, version Bip32Version) (*Key, error)
Deserialize a byte slice into a Key
func NewMasterKey ¶
NewMasterKey creates a new master extended key from a seed
func NewMasterKey2 ¶
func NewMasterKey2(seed []byte, version Bip32Version) (*Key, error)
func (*Key) B58Serialize ¶
B58Serialize encodes the Key in the standard Bitcoin base58 encoding
func (*Key) NewChildKey ¶
NewChildKey derives a child key from a given parent as outlined by bip32
func (*Key) PublicKey ¶
PublicKey returns the public version of key or return a copy The 'Neuter' function from the bip32 spec
Click to show internal directories.
Click to hide internal directories.