gpt4 book ai didi

python - 在python中获取Hash160比特币地址

转载 作者:行者123 更新时间:2023-11-30 22:29:33 25 4
gpt4 key购买 nike

tl;博士应该如何使用最基本的Python工具来执行Hash160?

================================================== =====

嗨,

我正在尝试弄清楚比特币交易是如何进行的。

当我为新交易选择输入时,我想确保它们属于特定地址。然而,现有的交易并不指定先前输出的地址,而是指定包含地址的哈希值。

例如:

>> bx fetch-tx 11a1b7ac0a65bd50b7094c720aecd77cfd83d84b1707960fd00dd82a888aab5c --config /home/theo/Desktop/bx-testnet.cfg

{
hash 11a1b7ac0a65bd50b7094c720aecd77cfd83d84b1707960fd00dd82a888aab5c
inputs
{
input
{
address_hash f3b7278583827a049d6be894bf7f516178a0c8e6
previous_output
{
hash 4a3532061d43086299ae9b2409a456bb9638dff32e0858c4ccda27203fb2e4f6
index 1
}
script "[30440220146b8b5b014245a9e27e21122d4dded04c3f39c3a49ac2494743d6f6ae8efff602206d417a4be9c7431ea69699132438510ade1cf8d746607f77d114907762ed1eb301] [023dd2e892290e41bb78efce6ea30a97015ef13eaaa9ebb7b0514485fc365cc391]"
sequence 4294967295
}
}
lock_time 0
outputs
{
output
{
address_hash a73706385fffbf18855f2aee2a6168f29dbb597e
script "dup hash160 [a73706385fffbf18855f2aee2a6168f29dbb597e] equalverify checksig"
value 130000000
}
output
{
address_hash ad6e80394af99ece5d7701bf2f457480b93965b7
script "dup hash160 [ad6e80394af99ece5d7701bf2f457480b93965b7] equalverify checksig"
value 49525957813
}
}
version 1
}

比如说,我想检查哪些输出可以从地址mvm74FACaagz94rjWbNmW2EmhJdmEGcxpa发送所以我用Python获取它的Hash160:

>> hashlib.new('ripemd160', hashlib.sha256("mvm74FACaagz94rjWbNmW2EmhJdmEGcxpa".encode('utf-8')).digest()).hexdigest()
'748598cd9b004aecf8a2d97464fb1f2a90562ffe'

这不是我期望的结果:a73706385ffffbf18855f2aee2a6168f29dbb597e

同时,this在线服务可以正确计算哈希值。

如何在 Python 中对比特币地址进行 Hash160 处理?

最佳答案

看起来您在尝试自己完成此操作时遇到了很多麻烦,而且我认为您的解决方案在性能方面不会有效。

您遵循的逻辑是正确的,但是知道有一个用于在 Base58 中进行解码和编码的包(称为 base58),事情可以做得更好

python -m pip install base58

下面是获取以base58(python 2.7)编码的比特币地址的ripemd160哈希值的简单方法:

>>>import base58
>>>adr58 = '1Q2TWHE3GMdB6BZKafqwxXtWAWgFt5Jvm3'
>>>adr160 = base58.b58decode_check(adr58).encode('hex')[2:]
>>>print (adr160)
fc916f213a3d7f1369313d5fa30f6168f9446a2d

注意 decod_check 考虑校验和,[2:] 去掉零

关于python - 在python中获取Hash160比特币地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46328870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com