【发布时间】:2020-02-18 20:27:56
【问题描述】:
嘿,我正在使用 https://github.com/Bitcoin-ABC/bitcoin-abc 并试图从 ecdsa 公钥中获取 bch 地址。
我有这个压缩的公钥:
publickKey = "02c0fe3501b514b1b2136b4d923de0907314a7c92499fd29a0cb7cf9f731711a19"
这是它的比特币地址:“39n8cpkeHhJDzhTVkboagHMbr9WYSLv2Yk”
根据https://cashaddr.bitcoincash.org/,这是它的比特币现金地址:“bitcoincash:ppvt3t9zkp3flgvgunp0wpp6l9t9tc85kvhtg5zkvr”
我试图像这样获取 bch 地址:
const auto netParams = bCreateChainParams(bCBaseChainParams::MAIN);
CTxDestination dst = CKeyID(uint160S(publickKey));
std::string encoded = EncodeCashAddr(dst, *netParams);
我得到不同的 bitcoincash 地址(不是上面那个)
我也试过了:
std::vector<uint8_t> hashVector = std::vector<uint8_t>(uncompressKey(publickKey));
bCashAddrContent keyContent{PUBKEY_TYPE, hashVector};
string encoded = EncodeCashAddr("bitcoincash", keyContent);
当 uncompressKey 函数解压缩 ecdsa 密钥并从中删除头文件时。
我也尝试使用 SCRIPT_TYPE 而不是 PUBKEY_TYPE,但我没有得到正确的地址....
我也找不到任何示例代码
有什么想法吗?
【问题讨论】:
-
欢迎来到 crypto.stackexchange - 这似乎是一个编程问题。编程问题在这里是题外话,即使它们是关于密码学程序/库的。编程问题属于stackoverflow。我可以帮你迁移到那里。