主页 > 创建imtoken钱包流程 > Python如何将比特币纸钱包密钥导入比特币LIB钱包?

Python如何将比特币纸钱包密钥导入比特币LIB钱包?

创建imtoken钱包流程 2023-10-15 05:11:11

Python如何将比特币纸钱包密钥导入比特币LIB钱包?

Python

Python如何将比特币纸钱包密钥导入比特币LIB钱包? ,python,bitcoin,bitcoinlib,Python,Bitcoin,Bitcoinlib,我尝试了以下方法,它为我提供了正确的私钥地址,但我似乎无法导入密钥并从我的钱包中使用它 >>> from bitcoinlib . 钱包 import HDWallet>>> from bitcoinlib.keys import Key>>> k = Key(import_key=pkstring, is_private=True)>>> print(k.address())1BZAHUFU5vgmtiwPnD

我尝试了以下方法如何用私钥提取比特币,它为我提供了正确的私钥地址,但我似乎无法导入密钥并从钱包中使用它

>>> 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 "", line 1, in 
  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()

>>从bitcoinlib.wallet导入HDWallet
>>>从bitcoinlib.keys导入密钥
>>>k=Key(import\u Key=pkstring,is\u private=True)
>>>打印(k.address())
1BZAHUFU5vgmtiwPnD1HLPiWNoD9tejndt
>>>w=HDWallet.create(‘Wallet’)
>>>w.导入密钥(k)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python3.7/site packages/bitcoinlib/wallets.py”,第1381行,输入密钥
网络=检查网络和密钥(密钥,默认网络=self.network.name)
文件“/usr/local/lib/python3.7/site packages/bitconlib/keys.py”,第89行,检查网络和密钥
kf=获取密钥格式(密钥)
文件“/usr/local/lib/python3.7/site packages/bitconlib/keys.py”,第148行,格式为get_key_
elif len(键)==130,键[:2]==04,且不是独立的:
TypeError:类型为“Key”的对象没有len()

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

你的代码应该在最新版本的 bitcoinlib 中工作

您还可以直接将密钥导入钱包如何用私钥提取比特币,而无需先创建密钥对象:

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

或者在钥匙串中创建一个只有一把钥匙的钱包:

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

似乎我无法将此私钥导入 bitcoinlib 钱包,而是我需要手动将资金“扫描”到新钱包中的新私钥。 但我认为这需要我手工进行交易,所以这并不容易。你的地址

1BZAHUFU5vgmtiwPnD1HLPiWNoD9tejndt

invalid@Zergatul 为了隐私我改了