Construct a NodeEd25519 object.
The chain code of the node (32 bytes).
The network of the node
The chain code of the node (32 bytes).
The network of the node
Hardened key derivation uses HIGHEST_BIT.
Getter for the fingerprint of the key.
The fingerprint are the first 4 bytes of the identifier of the key.
Getter for the identifier of the key.
The identifier is build as follows:
Getter for the privateKey of the key.
Getter for the publicKey of the key.
Derive a child node with index.
When the node is not neutered, an extended private key will be created and when the node is neutered, an extended public key will be created.
This method is an overload of the bitcoinjs/bip32
package's derive method adapted to use our child
key derivation functions CKDPriv and CKDPub.
Hardened child derivation (derives private key).
Generic child derivation.
This method reads the derivation paths and uses derive
and deriveHardened accordingly.
Derivation paths starting with m/ are only possible
with master nodes (for example created from seed).
Getter for private field __D.
This method is added to explicitely expose the
__D field to allow sub-classes to make
use of it.
The __D field represents the private key.
Getter for private field depth.
This method is added to explicitely expose the
depth field to allow sub-classes to make
use of it.
Getter for private field index.
This method is added to explicitely expose the
index field to allow sub-classes to make
use of it.
Getter for private field parentFingerprint.
This method is added to explicitely expose the
parentFingerprint field to allow sub-classes to make
use of it.
Getter for private field __Q.
This method is added to explicitely expose the
__Q field to allow sub-classes to make
use of it.
The __Q field represents the public key.
Return whether the node is neutered or not.
Neutered keys = Extended Public Keys Non-Neutered keys = Extended Private Keys
Validate a BIP32/BIP44 path by regular expression.
Get the neutered node.
Sign binary data with current node.
Overloads the bitcoinjs/bip32 method named sign in order to
be ED25519 compliant and use tweetnacl with ed25519 instead
of secp256k1.
The binary data to sign.
Get the Base58 representation of said key.
This method is modified to use the Network class to
determine privateKey and publicKey prefixes (version field).
The Base58 representation is laid on 78 bytes with following
specification (with || concatenation operator) :
version || depth || parent || index || chain code || priv/pub
Private keys are prepended with 0x00, public keys are encoded
in X9.62 format.
Verify a signature signature for data
hash with the current node.
Overloads the bitcoinjs/bip32 method named verify in order to
be ED25519 compliant and use tweetnacl with ed25519 instead
of secp256k1.
The binary data that was supposedly signed.
The signature binary data that needs to be verified.
Returns true for a valid signature, false otherwise.
Decode a base58 extended key payload into its'
NodeEd25519 object representation.
This method parses the base58 binary data and uses read fields to initialize a BIP32-ED25519 hierarchical-deterministic node.
No ED25519 changes have been done here.
The base58 payload of the extended key.
(Optional) The network of the key.
Create a hierarchical-deterministic ED25519 node from a binary seed.
Depending on the curve algorithm, the seed is prepended with one of:
ed25519 seed for ed25519[-sha512] implementation (Network.SYMBOL)Bitcoin seed for ed25519[-sha512] implementation (Network.ETHEREUM)Bitcoin seed for secp256k1 implementation (Network.BITCOIN)The binary seed (64 bytes).
One of BITCOIN, SYMBOL or ETHEREUM.
(Optional) defaults to MACType.HMAC.
Generated using TypeDoc
Class
NodeEd25519describes a hierarchical-deterministic BIP32 node implementation, compatible with ed25519 EC-curve.It is an implementation of BIP32 that is adapted to work with ED25519 ellyptic curve keys rather than secp256k1 keys.
This class uses features provided by the
bitcoinjs/bip32package and therefor is licensed under the BSD-2 Clause License as mentioned here.https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
https://github.com/satoshilabs/slips/blob/master/slip-0010.md
https://github.com/bitcoinjs/bip32
https://github.com/nemtech/NIP/issues/12
0.2.0