Python比特币和pywallet库从同一私钥获得不同的BTC地址

2024-04-19 20:43:04 发布

您现在位置:Python中文网/ 问答频道 /正文

在探索如何用python处理BTC钱包时,我偶然发现了以下两个库:bitcoin==1.1.42pywallet==0.1.0

现在,如果我根据pywallet的文档创建一个钱包,我会得到以下信息:

>>> from pywallet import wallet
>>> seed = wallet.generate_mnemonic()
>>> wallet.create_wallet(network="BTC", seed=seed)

{'address': '13j9Est2PckPxTngcHfCVtCvDfuYsxWWj9',
 'children': [{'address': '1Hs5HFjTBpwgWtcvDmwvr3rmuNbc9DJEZr',
               'bip32_path': "m/44'/0'/0'/0",
               'path': 'm/0',
               'xpublic_key': 'xpub687FMKCmjUZgvSu6K3MQktPuMwzjnxq1yjjphJmMyhUNBkLaniPmQgz4ZUiXZouLnZqdCpWJN7AUfBomiv6Ff165KqsfWxxHDZxhaqRA633'}],
 'coin': 'BTC',
 'private_key': '2d8eced8472088a4b44f433c3ec53f698ef16b325bf47b6435fca9338b2202f1',
 'public_key': '049c04b1e68a4d110026bb04388723a86f5a75a3f16a433dfbcdaeb296ba5298eb823272bb6a4b068d0070a05d2d436be70eb17267554879d0638bd6a844793231',
 'seed': 'thank patrol fancy dream marine melt project oak rose chalk fish '
         'split',
 'wif': b'KxkGaSBdzNpov8YMh6hneTcgNwvNNuHr32AG5k8UuFZy8tv718JZ',
 'xprivate_key': 'xprv9s21ZrQH143K24bAoPGRcAX2EhzkmcgZJ1He5enedYw7NYN7x8n62nAswb1pFZCqWHzL8H8kBBuQU4PnrPvMCQ5e94ue7kaWD165PH2rq14',
 'xpublic_key': 'xpub661MyMwAqRbcEYfduQoRyJTknjqFB5QQfEDEt3CGBtU6FLhGVg6LaaVMntpySCjo6BtcUahxTpw1zA5amxTYJB3CREq59TytgA3m3Yw2pgt',
 'xpublic_key_prime': 'xpub687FMKCv596f6qdwyZDS5HAuQ5Ch3P9Fm4GFcq3k6h6FicgzVXFh4BkS9sZBYcXKzFMu46Y8sEcFnSoQGfSLQqrtacV7SFK4dKRBQyaTmNL'}

但是,使用bitcoin并导入pywallet的私钥,我得到以下结果:

>>> import bitcoin
>>> pk = bitcoin.privtopub("2d8eced8472088a4b44f433c3ec53f698ef16b325bf47b6435fca9338b2202f1")
>>> pk
'049c04b1e68a4d110026bb04388723a86f5a75a3f16a433dfbcdaeb296ba5298eb823272bb6a4b068d0070a05d2d436be70eb17267554879d0638bd6a844793231'
>>> bitcoin.pubtoaddr(pk)
'1GMEqTi9HkeCxDnyEUyCJUn5B2s9pSeEs2'

请注意两个公钥是如何相同的,但地址却不同

我是不是遗漏了什么


Tags: pathkey文档import信息addressbitcoinseed