我正在尝试使用BlockCypher API签署比特币交易,但我失败了,因为我没有正确格式的私钥。
根据他们的文件:
“签名过程中最常见的错误之一是数据格式不匹配。我们总是返回并期望十六进制编码数据,但标准签名库通常需要字节数组。请记住转换数据,并始终发送十六进制 - 对BlockCypher的编码签名。“
PHP代码应如下所示:
$privateKeys = array("2c2cc015519b79782bd9c5af66f568e808f573714f3c4dc6df7d79c183783cff");
$txSkeleton = $txClient->sign($txSkeleton, $privateKeys);
但我的私钥格式为xprv9s21ZrQH143K4NejhhRcspQdS2g7JgnSVwmT2dkXQuszJaQqjYD3wdUdsXyqmfetdUZ2SS25uM7nAfnUwNDGA75bfqYxKwYZ8zDdaCv6meL
,即不是十六进制。
我试过简单地将其转换为十六进制,这显然对我有点过于乐观,但事务签名失败了。
我对此进行了彻底的网络搜索,并且无法弄清楚如何将xprv
前缀密钥转换为BlockCypher API所需的正确格式。
我是他们的付费客户并通过电子邮件发送,但在等待两周后没有回复。