(function() {
var mnemonic = new Mnemonic("english");
+ var seed = null
var bip32RootKey = null;
var bip32ExtendedKey = null;
var network = bitcoin.networks.bitcoin;
DOM.phrase = $(".phrase");
DOM.passphrase = $(".passphrase");
DOM.generate = $(".generate");
+ DOM.seed = $(".seed");
DOM.rootKey = $(".root-key");
DOM.extendedPrivKey = $(".extended-priv-key");
DOM.extendedPubKey = $(".extended-pub-key");
return;
}
var numWords = parseInt(DOM.strength.val());
- // Check strength is an integer
- if (isNaN(numWords)) {
- DOM.strength.val("12");
- numWords = 12;
- }
- // Check strength is a multiple of 32, if not round it down
- if (numWords % 3 != 0) {
- numWords = Math.floor(numWords / 3) * 3;
- DOM.strength.val(numWords);
- }
- // Check strength is at least 32
- if (numWords == 0) {
- numWords = 3;
- DOM.strength.val(numWords);
- }
var strength = numWords / 3 * 32;
var words = mnemonic.generate(strength);
DOM.phrase.val(words);
}
function calcBip32Seed(phrase, passphrase, path) {
- var seed = mnemonic.toSeed(phrase, passphrase);
+ seed = mnemonic.toSeed(phrase, passphrase);
bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
bip32ExtendedKey = bip32RootKey;
// Derive the key from the path
function displayBip32Info() {
// Display the key
+ DOM.seed.val(seed);
var rootKey = bip32RootKey.toBase58();
DOM.rootKey.val(rootKey);
var extendedPrivKey = bip32ExtendedKey.toBase58();