Skip to Content
Open SourceHydraLibraries@exodus/splip :with

@exodus/splip :with

This package is a helper module for dealing with SLIP10 keys.

At the moment this only supports the Ed25519 curve.

Install

npm i @exodus/slip10

Usage

SLIP10.fromSeed(seed: Buffer | Uint8Array)

Create a master key from a seed

import SLIP10 from '@exodus/slip10';
 
const seed = Buffer.from(
  'fffcf9f6f3f0edeae7e4e1dedbd8d5d2cfccc9c6c3c0bdbab7b4b1aeaba8a5a29f9c999693908d8a8784817e7b7875726f6c696663605d5a5754514e4b484542',
  'hex'
);
 
const key = SLIP10.fromSeed(seed);
// `key` is an instance of SLIP10

SLIP10.fromXPriv({ private, chainCode })

Import an SLIP10 key from an extended private key, as exported by key.toJSON().

import SLIP10 from '@exodus/slip10';
 
const key = SLIP10.fromXPriv({
  chainCode: '5d70af781f3a37b829f0d060924d5e960bdc02e85423494afc0b1a41bbe196d4',
  private: '551d333177df541ad876a60ea71f00447931c0a9da16f227c11ea080d7391b8d',
});
 
// `key` is an instance of SLIP10

key.derive(path: string)

const childKey = key.derive(`m/0'/0'`);
// `childKey` is an instance of SLIP10

key.privateKey

Getter for the private key Buffer.

const { privateKey } = key;

key.publicKey

Getter for the public key Buffer.

const { publicKey } = key;

key.toJSON()

Exports the private key data.

const {
  xpriv: {
    // hex string
    key,
    // hex string
    chainCode,
  },
} = key.toJSON();

key.wipePrivateData()

Wipes internal references to private key data.

key.privateKey; // Buffer
key.chainCode; // Buffer
 
key.wipePrivateData();
 
key.privateKey; // undefined
key.chainCode; // undefined
Last updated on

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right