我正面临有关比特币地址生成的问题。
我public key
:
String xpub"xpub661MyMwAqRbcGJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
我想从addresses
生成多个xpub
。
我正在使用bitcoinJ
库。
ECKey key=ECKey.fromPublicOnly(Base58.decode(xpub));
抛出例外:
未压缩编码的长度不正确
我读过很多文章,我发现Ripemd160(SHA256(string));
hashing
后encode
Base58
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
,但无法获得多个地址。
答案 0 :(得分:3)
我不确定我的答案是否正确,因为我不知道BitcoinJ库是如何工作的,只是为了信息:
比特币公钥与RSA公钥有所不同,您应该在字符串的开头添加04
。
在您的情况下,键值应等于:
<强> 04 强> xpub661MyMwAqRbcGJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
因此生成的公钥将具有以下内容:
1字节0x04 + 65字节:32个字节对应X坐标,32个字节对应Y坐标
检查:
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses https://en.bitcoin.it/w/images/en/9/9b/PubKeyToAddr.png
要测试/验证您的地址,您可以使用此网站:
祝你好运