@rsksmart/rif-id-mnemonic
v0.1.1
Published
RIF Identity - mnemonic
Downloads
48
Readme
npm i @rsksmart/rif-id-mnemonic
Features
- BIP-39 complaint random mnemonic key generation given sentence size
- BIP-39 mnemonic to BIP-32 seed
- BIP-32 seed to BIP-44 compliant RSK multi-account base HD Key
Usage
Generate a mnemonic:
import { generateMnemonic } from '@rsksmart/rif-id-mnemonic'
const mnemonic = generateMnemonic(12)
Get a private key:
import { mnemonicToSeed, seedToRSKHDKey } from '@rsksmart/rif-id-mnemonic'
const seed = await mnemonicToSeed(mnemonic)
const hdKey = seedToRSKHDKey(seed)
const privateKey = hdKey.derive(0).privateKey?.toString('hex')
Or sync:
import { mnemonicToSeedSync, seedToRSKHDKey } from '@rsksmart/rif-id-mnemonic'
const seed = mnemonicToSeedSync(mnemonic)
const hdKey = seedToRSKHDKey(seed)
const privateKey = hdKey.derive(0).privateKey?.toString('hex')
Test
From base repo directory run npm test
or any of the described test script variants.
References
- BIP39: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
- BIP32: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
- BIP44: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki