问题描述
我想获取与我的扩展公钥关联的所有地址。我在 bitcoinlib's docs 上找到了如何执行此操作:
初始化一个地址对象。指定公钥、赎回脚本或哈希。
>>> addr = Address('03715219f51a2681b7642d1e0e35f61e5288ff59b87d275be9eaf1a5f481dcdeb6',encoding='bech32',script_type='p2wsh')
>>> addr.address
'bc1qaehsuffn0stxmugx3z69z9hm6gnjd9qzeqlfv92cpf5adw63x4tsfl7vwl'
但是我在使 Address()
函数工作时遇到问题,因为我的代码:
from bitcoin import * # using import * because not sure what else to import?
master = Address("my extended pub key",script_type='p2wpkh')
print(master.address)
产生这个错误:
NameError: name 'Address' is not defined
解决方法
如果您想使用 bitcoinlib 库并检查与您的扩展公钥关联的地址,您应该执行以下操作:
pip install bitcoinlib
之后,使用安装此包的 Python 二进制文件,打开 Python 终端并说:
from bitcoinlib.keys import Address
毋庸置疑,使用 virtualenv 是值得推荐的,而且 import *
也不是一个好主意。请参阅以下问答以获取更多详细信息:
from bitcoin import *
使用 import *
不是一个好习惯。这不仅导入了您不需要的东西,而且您不知道它究竟导入了什么,而且在这种情况下它也不导入您需要的东西。
根据你链接的文档,你需要使用这个import语句:
from bitcoinlib.keys import Address