Java BitcoinJ从私钥生成地址

Java BitcoinJ从私钥生成地址,java,bitcoin,bitcoinj,Java,Bitcoin,Bitcoinj,我面临一个关于从私钥生成地址的问题 我从electrum和比特币核心获得了主私钥 那就是从 xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx 在比特币中: ECKey key=ECKey.fromPrivate(prv); // it accepts bytes[] or BigInteger 如何将9s21xxxxxxxxxxxxxxx转换为字节[]或BigInteger 尝试: 由于数字格式的原因,它无法转换,因此引发异常 尝试2: byte[] bytes=pr

我面临一个关于从
私钥
生成
地址
的问题

我从
electrum
比特币核心
获得了主私钥
那就是从

xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx
在比特币中:

ECKey key=ECKey.fromPrivate(prv); // it accepts bytes[] or BigInteger
如何将
9s21xxxxxxxxxxxxxxx
转换为
字节[]或BigInteger

尝试:

由于数字格式的原因,它无法转换,因此引发异常

尝试2:

byte[] bytes=prvkey.getBytes(StandardCharsets.UTF_16);
它从
ECKey
生成有效地址,我通过
electrum
向该
地址发送事务。但钱包并没有收到钱。不知道钱去哪儿了

如何将主私钥转换为
BigInteger或bytes[]

附言:
我是
加密货币

转换字符串私钥为
字节[]的初学者。

ECKey key = ECKey.fromPrivate(prv.getBytes());
或者,将字符串私钥转换为
biginger

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

prvkey
只是一个字符串。您可以执行
prvkey.getBytes()
以获取其在字节数组中的表示问题是:我如何转换从electrum或比特币核心钱包获得的私钥,并使用bitcoinJ
ECKey key=ECKey.fromPrivate(prv.getBytes())从中生成有效地址我希望它能工作,交易进入实际账户,而不是云中!查看他们github页面上的示例:我会将此作为未来读者的答案发布。我会通过您的方法生成地址,并通过electrum将硬币发送到该地址。确认后,我会告诉您交易是转到prvkey所属的实际帐户还是其他云帐户为什么会转到“其他云帐户”? 如果您从本地钱包(core、electrum)中生成了私钥,那么它应该发送到那些地址。如果回答了您的问题,您可以接受这个答案。另外,请查看我链接的示例代码。该示例还显示了如何生成遗留地址并进行事务处理,直到事务没有进入该实际帐户。进入某个云帐户
BigInteger privKey = Base58.decodeToBigInteger(prv);
ECKey key = ECKey.fromPrivate(privKey);