0

我正在从助记符创建一个钱包,对于以太坊,我使用 web3j 库来生成助记符、地址及其私钥,现在对于比特币,我想使用相同生成的助记符来生成比特币地址及其私钥,我正在使用 Bitcoinj图书馆但无法获得其地址和密钥。我也尝试了 Walletappkit,但它的生成地址没有获得助记符,所以有什么方法可以在 Walletappkit 中使用助记符,这样我就可以获得比特币地址并同步比特币链进行交易。还有什么方法可以在不同步的情况下使用 walletappkit 并获取比特币详细信息,例如余额和交易信息。

下面是我如何使用 web3j 和 bitcoinj 创建以太坊钱包及其助记键的代码。

val wallet = WalletUtils.generateBip39Wallet("", File(path))
            val mnemonics = wallet.mnemonic
            //  bitcoinj
            var seed = DeterministicSeed(wallet.mnemonic, null, "", 1409478661L)
            val chain = DeterministicKeyChain.builder().seed(seed).build()
            val keyPath = HDUtils.parsePath("M/44H/60H/0H/0/0")
            val key = chain.getKeyByPath(keyPath, true)
            val privKey = key.privKey


            // Web3j
            val credentials = Credentials.create(privKey.toString(16))
            val eth_address = credentials.address
4

2 回答 2

1

我不确定我是否正确理解了您想要做什么,但是如果您想从助记符种子恢复/创建 Bitcoinj 钱包,那么这里有一个官方示例

// Here we restore our wallet from a seed with no passphrase. Also have a look at the BackupToMnemonicSeed.java example that shows how to backup a wallet by creating a mnemonic sentence.
String seedCode = "yard impulse luxury drive today throw farm pepper survey wreck glass federal";
String passphrase = "";
Long creationtime = 1409478661L;

DeterministicSeed seed = new DeterministicSeed(seedCode, null, passphrase, creationtime);

// The wallet class provides a easy fromSeed() function that loads a new wallet from a given seed.
Wallet wallet = Wallet.fromSeed(params, seed, Script.ScriptType.P2PKH);
于 2019-09-22T10:26:16.367 回答
0

您可以使用bitcore.js生成助记词。我正在分享 npm 包的链接,请看一下。

var Mnemonic = require('bitcore-mnemonic');
var code = new Mnemonic(Mnemonic.Words.SPANISH);
code.toString(); 
var xpriv = code.toHDPrivateKey();
于 2019-08-05T10:04:55.980 回答