我遇到了一个关于从private key
生成address
的问题。
我从electrum
和bitcoin 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存储库的示例