Class: PublicKey

hd.PublicKey(options)

HDPublicKey

Constructor

new PublicKey(options)

Create an HD public key.

Parameters:
Name Type Description
options Object | Base58String
Properties
Name Type Attributes Description
xkey Base58String <nullable>

Serialized base58 key.

depth Number <nullable>
parentFingerPrint Number <nullable>
childIndex Number <nullable>
chainCode Buffer <nullable>
publicKey Buffer <nullable>
Properties:
Name Type Description
depth Number
parentFingerPrint Number
childIndex Number
chainCode Buffer
publicKey Buffer
Source:

Methods

(static) fromBase58(xkey, networknullable) → {HDPublicKey}

Instantiate an HD public key from a base58 string.

Parameters:
Name Type Attributes Description
xkey Base58String
network Network <nullable>
Source:
Returns:
Type
HDPublicKey

(static) isBase58(data, networknullable) → {Boolean}

Test whether an object is in the form of a base58 xpubkey.

Parameters:
Name Type Attributes Description
data String
network Network | NetworkType <nullable>
Source:
Returns:
Type
Boolean

(static) isHDPublicKey(obj) → {Boolean}

Test whether an object is a HDPublicKey.

Parameters:
Name Type Description
obj Object
Source:
Returns:
Type
Boolean

(static) isRaw(data, networknullable) → {NetworkType}

Test whether a buffer has a valid network prefix.

Parameters:
Name Type Attributes Description
data Buffer
network Network | NetworkType <nullable>
Source:
Returns:
Type
NetworkType

(static) isValidPath(path, hardenednullable) → {Boolean}

Test whether a string is a valid path.

Parameters:
Name Type Attributes Description
path String
hardened Boolean <nullable>
Source:
Returns:
Type
Boolean

compare(obj) → {Boolean}

Compare a key against an object.

Parameters:
Name Type Description
obj Object
Source:
Returns:
Type
Boolean

derive(index, hardenednullable) → {HDPrivateKey}

Derive a child key.

Parameters:
Name Type Attributes Description
index Number

Derivation index.

hardened Boolean <nullable>

Whether the derivation should be hardened (throws if true).

Source:
Throws:

on hardened

Returns:
Type
HDPrivateKey

deriveAccount(purpose, type, account) → {HDPublicKey}

Derive a BIP44 account key (does not derive, only ensures account key).

Parameters:
Name Type Description
purpose Number
type Number
account Number
Source:
Throws:

Error if key is not already an account key.

Returns:
Type
HDPublicKey

derivePath(path) → {HDPublicKey}

Derive a key from a derivation path.

Parameters:
Name Type Description
path String
Source:
Throws:
  • Error if path is not a valid path.

  • Error if hardened.

Returns:
Type
HDPublicKey

destroy()

Destroy the key (zeroes chain code and pubkey).

Source:

equals(obj) → {Boolean}

Compare a key against an object.

Parameters:
Name Type Description
obj Object
Source:
Returns:
Type
Boolean

(private) fromBase58(xkey, networknullable)

Inject properties from a base58 key.

Parameters:
Name Type Attributes Description
xkey Base58String
network Network <nullable>
Source:

(private) fromJSON(json, networknullable)

Inject properties from json object.

Parameters:
Name Type Attributes Description
json Object
network Network <nullable>
Source:

(private) fromOptions(options)

Inject properties from options object.

Parameters:
Name Type Description
options Object
Source:

(private) getID(index) → {String}

Unique HD key ID.

Parameters:
Name Type Description
index Number
Source:
Returns:
Type
String

getJSON() → {Object}

Convert key to a more json-friendly object.

Source:
Returns:
Type
Object

getSize() → {Number}

Calculate serialization size.

Source:
Returns:
Type
Number

isAccount(accountnullable) → {Boolean}

Test whether the key is (most likely) a BIP44 account key.

Parameters:
Name Type Attributes Description
account Number <nullable>
Source:
Returns:
Type
Boolean

isMaster() → {Boolean}

Test whether the key is a master key.

Source:
Returns:
Type
Boolean

(private) read(br, networknullable)

Inject properties from serialized data.

Parameters:
Name Type Attributes Description
br BufferReader
network Network | NetworkType <nullable>
Source:

toBase58(networknullable) → {Base58String}

Serialize key data to base58 extended key.

Parameters:
Name Type Attributes Description
network Network | NetworkType <nullable>
Source:
Returns:
Type
Base58String

toPublic() → {HDPublicKey}

Get HD public key (self).

Source:
Returns:
Type
HDPublicKey

write(bw, networknullable)

Write the key to a buffer writer.

Parameters:
Name Type Attributes Description
bw BufferWriter
network Network | NetworkType <nullable>
Source:

xprivkey() → {null}

Get cached base58 xprivkey (always null here).

Source:
Returns:
Type
null

xpubkey() → {Base58String}

Get cached base58 xpubkey.

Source:
Returns:
Type
Base58String