2

我面临一个关于addressprivate key.

我从那里获得了主私钥electrum并且从bitcoin core 那里开始

xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx

在比特币J中:

ECKey key=ECKey.fromPrivate(prv); // it accepts bytes[] or BigInteger

我怎样才能转换9s21xxxxxxxxxxxxxxxxxbytes[] or BigInteger.

尝试:

String prvkey=9s21xxxxxxxxxxxxxxxxxxxxx
BigInteger bytes=new BigInteger(priv,16);

它抛出异常,因为它由于数字格式而无法转换。

尝试2:

byte[] bytes=prvkey.getBytes(StandardCharsets.UTF_16);

它从中生成有效地址ECKey,我address通过electrum. 但是钱包没有收到钱。不知道钱去哪了。

我应该怎么做才能将主私钥转换为BigInteger or bytes[]

PS:我是初学者cryptocurrency

4

1 回答 1

-1

将字符串私钥转换为bytes[]

ECKey key = ECKey.fromPrivate(prv.getBytes());

或者,将字符串私钥转换为BigInteger

BigInteger privKey = Base58.decodeToBigInteger(prv);
ECKey key = ECKey.fromPrivate(privKey);

来自 bitcoinj 的 github repo 的示例

于 2018-03-21T07:44:39.663 回答