我有一个值seed,它返回一个promise,我需要将它传递给将使用该输出的hdkey函数。
seed返回一个promise,然后抛出一个异常,因为我需要那个未包装的响应。
我看了一些关于它的其他帖子,我想知道我试图设置的值(root)会被用于后续命令。
我应该继续做.then()吗?
var bip39 = require('bip39');
var hdkey = require('hdkey');
var createHash = require('create-hash');
//var btcLib = require('bitcoinjs-lib');
var bs58check = require('bs58check');
//const mnemonic = bip39.generateMnemonic(); //generates string
const mnemonic = "gentle mutual speak consider mandate kingdom cash explain soul exile cabin squeeze";
const seed = bip39.mnemonicToSeed(mnemonic)
.then(a => ); //creates seed buffer
console.log('Seed: ' + seed);
console.log('mnemonic: ' + mnemonic);
const root = hdkey.fromMasterSeed(seed);
const masterPrivateKey = root.privateKey.toString('hex');发布于 2021-05-05 21:00:15
您需要等待Promise来获取seed缓冲区:
const bip39 = require('bip39')
const hdkey = require('hdkey');
const mnemonic = "gentle mutual speak consider mandate kingdom cash explain soul exile cabin squeeze";
bip39.mnemonicToSeed(mnemonic)
.then(seed => {
console.log('Seed: ', seed);
console.log('mnemonic: ', mnemonic);
const root = hdkey.fromMasterSeed(seed);
const masterPrivateKey = root.privateKey.toString('hex');
console.log(masterPrivateKey);
})
.catch(err => {
console.error('error to seed', err)
})或者使用bip39.mnemonicToSeedSync方法来避免使用Promise接口-但性能较差
const bip39 = require('bip39')
const hdkey = require('hdkey');
const mnemonic = "gentle mutual speak consider mandate kingdom cash explain soul exile cabin squeeze";
const seed = bip39.mnemonicToSeedSync(mnemonic)
console.log('Seed: ', seed);
console.log('mnemonic: ', mnemonic);
const root = hdkey.fromMasterSeed(seed);
const masterPrivateKey = root.privateKey.toString('hex');
console.log(masterPrivateKey);https://stackoverflow.com/questions/67401389
复制相似问题