【问题标题】:How can I import a Bitcoin paper wallet key into a bitcoinlib wallet?如何将比特币纸质钱包密钥导入 bitcoinlib 钱包?
【发布时间】:2019-01-03 12:38:55
【问题描述】:

我尝试了以下方法,它为我提供了正确的私钥地址,但我似乎无法将其导入并从钱包中使用。

>>> from bitcoinlib.wallets import HDWallet
>>> from bitcoinlib.keys import Key
>>> k = Key(import_key=pkstring, is_private=True)
>>> print(k.address())
1BZAHUFU5vgmtiwPnD1HLPiWNoD9tejndt
>>> w = HDWallet.create('Wallet')
>>> w.import_key(k)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/bitcoinlib/wallets.py", line 1381, in import_key
    network = check_network_and_key(key, default_network=self.network.name)
  File "/usr/local/lib/python3.7/site-packages/bitcoinlib/keys.py", line 89, in check_network_and_key
    kf = get_key_format(key)
  File "/usr/local/lib/python3.7/site-packages/bitcoinlib/keys.py", line 148, in get_key_format
    elif len(key) == 130 and key[:2] == '04' and not isprivate:
TypeError: object of type 'Key' has no len()

我认为这可能与 Key 对象和 HDKey 对象之间的差异有关。我需要导入一个普通的密钥。

【问题讨论】:

  • 看来我可能无法将此私钥导入 bitcoinlib 钱包,而是需要手动将资金“扫描”到新钱包中的新私钥。我认为这需要我手工制作交易,所以并不容易做到。
  • 您的地址1BZAHUFU5vgmtiwPnD1HLPiWNoD9tejndt无效
  • @Zergatul 我为了隐私改了

标签: python bitcoin bitcoinlib


【解决方案1】:

您的代码应该可以在最新版本的 bitcoinlib 中运行。

您也可以直接在钱包中导入密钥,而无需先创建 Key 对象:

 w = HDWallet.create('Wallet')
 w.import_key(pkstring)

或者只是用你的钥匙串中的一个钥匙创建一个钱包:

 w = HDWallet.create('Wallet2', keys=pkstring, scheme='single')

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 2012-01-28
    • 2019-12-09
    • 2015-11-08
    • 2012-05-31
    • 2022-01-13
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多