BitcoinJ从私钥生成地址



我遇到了一个关于从private key生成address的问题。

我从electrumbitcoin core那里获得了主私钥那是从

xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx

在比特币J中:

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

如何将9s21xxxxxxxxxxxxxxxxx转换为bytes[] or BigInteger.

尝试:

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

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

尝试 2:

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

它从ECKey生成有效地址,我通过electrum将交易发送到该address。 但钱包没有收到钱。不知道钱去哪儿了。

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

附注:我是cryptocurrency初学者

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

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

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

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

来自bitcoinj的github存储库的示例

最新更新