@protontech/bip39

1.0.2 • Public • Published

BIP39

JavaScript implementation of Bitcoin BIP39.

Installation

Add the following to dependencies in package.json

"bip39": "github:ProtonMail/bip39#semver:PACKAGE_VERSION",

Example Usage

import { entropyToMnemonic, mnemonicToEntropy, validateMnemonic } from 'bip39';

const entropy = new Uint8Array(16); // Use a CSPRNG to generate the random bytes
// => Uint8Array(16) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … ]

const mnemonic = await entropyToMnemonic(entropy);
// => abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

const recoveredEntropy = await mnemonicToEntropy(mnemonic);
// => Uint8Array(16) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, … ]

const isValid = await validateMnemonic(mnemonic);
// => true

API

entropyToMnemonic

Takes Uint8Array entropy and outputs a mnemonic based on the wordlist.

mnemonicToEntropy

Takes a mnemonic and outputs the Uint8Array entropy.

validateMnemonic

Validates a given mnemonic. Returns true if valid and false if invalid.

wordlist

Each function can take a wordlist - a string array of length 2048. If a wordlist is not specified, it will default to English.

Readme

Keywords

none

Package Sidebar

Install

npm i @protontech/bip39

Weekly Downloads

43

Version

1.0.2

License

ISC

Unpacked Size

34.4 kB

Total Files

9

Last publish

Collaborators

  • e1a0a0ea
  • guillaumez
  • edvincandon
  • epokk
  • econdepe
  • larabr
  • mmso
  • twiss
  • bartbutler