【问题标题】:How to craete bitcoin wallet from mnemonics using bitcoinj (walletappkit) in android如何在 android 中使用比特币(钱包 appkit)从助记符创建比特币钱包
【发布时间】:2019-12-09 23:01:09
【问题描述】:

我正在从助记符创建一个钱包,对于以太坊,我使用 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

【问题讨论】:

    标签: java kotlin blockchain bitcoin bitcoinj


    【解决方案1】:

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

    // 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);
    

    【讨论】:

      【解决方案2】:

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

      var Mnemonic = require('bitcore-mnemonic');
      var code = new Mnemonic(Mnemonic.Words.SPANISH);
      code.toString(); 
      var xpriv = code.toHDPrivateKey();
      

      【讨论】:

      • 我不会使用 npm 包来生成加密货币的助记符。 npm.anvaka.com/#/view/2d/bitcore-mnemonic bitcore.js 有 18 个依赖项!只有其中一个人需要成为坏人才能破坏您的密钥。此外,bitcore.js 似乎由 bitpay 维护。避免像瘟疫一样的比特支付
      猜你喜欢
      • 2012-01-28
      • 2020-11-07
      • 2015-11-08
      • 2012-05-31
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多