Class: PublicKey

hd.PublicKey

new PublicKey(options)

HDPublicKey

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

Serialized base58 key.

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

Methods

(static) fromBase58(xkey) → {HDPublicKey}

Instantiate an HD public key from a base58 string.

Parameters:
Name Type Description
xkey Base58String
Source:
Returns:
Type
HDPublicKey

(static) fromJSON(json) → {HDPrivateKey}

Instantiate an HDPrivateKey from a jsonified key object.

Parameters:
Name Type Description
json Object

The jsonified transaction object.

Source:
Returns:
Type
HDPrivateKey

(static) fromOptions(options) → {HDPublicKey}

Instantiate HD public key from options object.

Parameters:
Name Type Description
options Object
Source:
Returns:
Type
HDPublicKey

(static) fromRaw(raw) → {HDPublicKey}

Instantiate key from serialized data.

Parameters:
Name Type Description
raw Buffer
Source:
Returns:
Type
HDPublicKey

(static) fromReader(br) → {HDPublicKey}

Instantiate key from serialized data.

Parameters:
Name Type Description
br BufferReader
Source:
Returns:
Type
HDPublicKey

(static) isBase58(data) → {Boolean}

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

Parameters:
Name Type Description
data String
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) → {NetworkType}

Test whether a buffer has a valid network prefix.

Parameters:
Name Type Description
data Buffer
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 | String

Child index or path.

hardened Boolean <nullable>

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

Source:
Throws:

on hardened

Returns:
Type
HDPrivateKey

deriveAccount44(accountIndex) → {HDPublicKey}

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

Parameters:
Name Type Description
accountIndex 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

derivePurpose45() → {HDPublicKey}

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

Source:
Throws:

Error if key is not already a purpose key.

Returns:
Type
HDPublicKey

destroy()

Destroy the key (zeroes chain code and pubkey).

Source:

equal(obj) → {Boolean}

Compare a key against an object.

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

(private) fromBase58(xkey)

Inject properties from a base58 key.

Parameters:
Name Type Description
xkey Base58String
Source:

(private) fromJSON(json)

Inject properties from json object.

Parameters:
Name Type Description
json Object
Source:

(private) fromOptions(options)

Inject properties from options object.

Parameters:
Name Type Description
options Object
Source:

(private) fromRaw(raw)

Inject properties from serialized data.

Parameters:
Name Type Description
raw Buffer
Source:

(private) fromReader(raw)

Inject properties from serialized data.

Parameters:
Name Type Description
raw Buffer
Source:

(private) getID(index) → {String}

Unique HD key ID.

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

getSize() → {Number}

Calculate serialization size.

Source:
Returns:
Type
Number

isAccount44(accountIndexnullable) → {Boolean}

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

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

isMaster() → {Boolean}

Test whether the key is a master key.

Source:
Returns:
Type
Boolean

isPurpose45() → {Boolean}

Test whether the key is a BIP45 purpose key.

Source:
Returns:
Type
Boolean

toBase58(network) → {Base58String}

Serialize key data to base58 extended key.

Parameters:
Name Type Description
network Network | String
Source:
Returns:
Type
Base58String

toJSON() → {Object}

Convert key to a more json-friendly object.

Source:
Returns:
Type
Object

toPublic() → {HDPublicKey}

Get HD public key (self).

Source:
Returns:
Type
HDPublicKey

toRaw(network) → {Buffer}

Serialize the key.

Parameters:
Name Type Description
network Network | NetworkType
Source:
Returns:
Type
Buffer

toWriter(bw, network)

Write the key to a buffer writer.

Parameters:
Name Type Description
bw BufferWriter
network Network | NetworkType
Source:

verifyNetwork(network) → {Boolean}

Verify network.

Parameters:
Name Type Description
network NetworkType | Network
Source:
Returns:
Type
Boolean

xprivkey() → {null}

Get cached base58 xprivkey (always null here).

Source:
Returns:
Type
null

xpubkey() → {Base58String}

Get cached base58 xpubkey.

Source:
Returns:
Type
Base58String