@elevenyellow.com/wallets-helpers
v4.0.1
Published
Easy way to manage wallets from different blockchains
Downloads
35
Maintainers
Keywords
Readme
Install
npm i @elevenyellow.com/wallets-helpers
Types / Naming / Terms
mnemonic string
Mnemonic are the words that are used to recover a wallet. Usually 12 or 24 words.
property bone kite yard announce enjoy legal load raven praise hurdle point
seed object
A special object generated by bitcoinjs-lib that allow us derive another seeds or export it in other formats.
network object
Network is an object that determine what blockchain are you connecting with.
address string
extended_privateKey string
Is the way to export a seed in string format. With this we can recover our seed at any time and derive or generate private keys and addresses.
extended_public_key string
With this we can recover our seed at any time and generate multiple addresses. With the extended public key you can generate addresses but no private keys.
API
getRandomMnemonic({ [words] }) : mnemonic
Used to create a new random mnemonic.
Params
- words:
number
optional default=24
Returns
mnemonic:string
Example
import { getRandomMnemonic } from '@elevenyellow.com/wallets-helpers'
const mnemonic = getRandomMnemonic({ words: 12 })
getSeedFromMnemonic({ mnemonic, network, [passphase] }) : seed
It creates a seed from the mnemonic passed.
Params
- mnemonic:
string
- network:
object
- passphase:
string
optional
Returns
seed:object
Example
import {
networks,
getRandomMnemonic,
getSeedFromMnemonic
} from '@elevenyellow.com/wallets-helpers'
const network = networks.mainnet
const mnemonic = getRandomMnemonic({ words: 12 })
const seed = getSeedFromMnemonic({ mnemonic, network })
derivePath({ seed, path }) : seed
It creates a new seed with a new derivation.
Params
- seed:
object
- path:
string
Returns
seed:object
Example
const seed = getSeedFromMnemonic({ mnemonic, network })
const seed_rerived = derivePath({ seed, path: "m/44'/0'/0'/0/25" })
const privateKey = getPrivateKeyFromSeed({ seed: seed_rerived })
console.log(privateKey) // 'L2PUoVDh2hpKzfRGcbuQW9NHssEBbX7gEuWobWhzmqan2iKVhtcL'
deriveIndex({ seed, index }) : seed
It creates a new seed with a new derivation.
Params
- seed:
object
- index:
number
Returns
seed:object
Example
let seed = getSeedFromMnemonic({ mnemonic, network })
seed = derivePath({ seed, path: "m/44'/0'/0'/0" })
seed = deriveIndex({ seed, index: 25 })
// Equivalent to
seed = derivePath({ seed, path: "m/44'/0'/0'/0/25" })
getExtendedPrivateKeyFromSeed({ seed }) : extended_privateKey
Params
- seed:
object
Returns
extended_privateKey:string
Example
const seed = getSeedFromMnemonic({ mnemonic, network })
const xprv = getExtendedPrivateKeyFromSeed({ seed })
const seed2 = getSeedFromExtended({ extended: xprv })
const prv1 = getPrivateKeyFromSeed({ seed })
const prv2 = getPrivateKeyFromSeed({ seed: seed2 })
prv1 === prv2 // true
getExtendedPublicKeyFromSeed({ seed }) : extended_public_key
Params
- seed:
object
Returns
extended_public_key:string
Example
const seed = getSeedFromMnemonic({ mnemonic, network })
const xpub = getExtendedPublicKeyFromSeed({ seed })
const seed2 = getSeedFromExtended({ extended: xpub })
const addres1 = getAddressFromSeed({ seed, network })
const addres2 = getAddressFromSeed({ seed: seed2, network })
addres1 === addres2 // true
getSeedFromExtended({ extended }) : seed
Params
- extended:
string
extended could be a extended_privateKey or a extended_public_key
Returns
seed:object
Example
const seed = getSeedFromMnemonic({ mnemonic, network })
const xprv = getExtendedPrivateKeyFromSeed({ seed })
const seed2 = getSeedFromExtended({ extended: xprv })
t.deepEqual(seed, seed2) // true