Split BIP39 mnemonics using Shamir's Secret Sharing Scheme
-
To generate mnemonic with 'bip39' lib.
import { generateMnemonic } from 'bip39'; const generated_mnemonic = generateMnemonic();
-
To generate M/N mnemonic shares
To generate M shares and require N to recover the mnemonic
Accepts a BIP39 mnemonic and returns a Shares map, in which the keys are the share id's, and the values are the BIP39 mnemonics.
import { recoverMnemonic } from "bip39-sss-js-sdk" splitMnemonic(example_mnemonic, 3, 2); splitMnemonic(example_mnemonic, 5, 3); splitMnemonic(example_mnemonic, m, n);
-
To recover mnemonic
import { splitMnemonic } from "bip39-sss-js-sdk" recoverMnemonic(split_1_3_5_for_generated_5_3)
-
To get address or private key with 'web3'
import { mnemonicToEntropy } from 'bip39'; web3.eth.accounts.create(mnemonicToEntropy(generated_mnemonic))