BitcoinJ 从私钥生成地址
BitcoinJ generate address from private key
我遇到了从 private key
生成 address
的问题。
我从 electrum
以及 bitcoin core
获得了 主私钥
即从
开始
xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx
在 bitcoinJ 中:
ECKey key=ECKey.fromPrivate(prv); // it accepts bytes[] or BigInteger
如何将 9s21xxxxxxxxxxxxxxxxx
转换为 bytes[] or BigInteger
。
尝试:
String prvkey=9s21xxxxxxxxxxxxxxxxxxxxx
BigInteger bytes=new BigInteger(priv,16);
it throws exception as it can't convert due to number format.
尝试 2:
byte[] bytes=prvkey.getBytes(StandardCharsets.UTF_16);
它从 ECKey
生成有效地址,我通过 electrum
向 address
发送交易。但是钱包没有收到钱。不知道钱去哪儿了。
我应该怎么做才能将主私钥转换成BigInteger or bytes[]
PS:
我是 cryptocurrency
的初学者
将字符串私钥转换成bytes[]
:
ECKey key = ECKey.fromPrivate(prv.getBytes());
或者,将字符串私钥转换为BigInteger
:
BigInteger privKey = Base58.decodeToBigInteger(prv);
ECKey key = ECKey.fromPrivate(privKey);
我遇到了从 private key
生成 address
的问题。
我从 electrum
以及 bitcoin core
获得了 主私钥
即从
xprv9s21xxxxxxxxxxxxxxxxxxxxxxxxxxxx
在 bitcoinJ 中:
ECKey key=ECKey.fromPrivate(prv); // it accepts bytes[] or BigInteger
如何将 9s21xxxxxxxxxxxxxxxxx
转换为 bytes[] or BigInteger
。
尝试:
String prvkey=9s21xxxxxxxxxxxxxxxxxxxxx
BigInteger bytes=new BigInteger(priv,16);
it throws exception as it can't convert due to number format.
尝试 2:
byte[] bytes=prvkey.getBytes(StandardCharsets.UTF_16);
它从 ECKey
生成有效地址,我通过 electrum
向 address
发送交易。但是钱包没有收到钱。不知道钱去哪儿了。
我应该怎么做才能将主私钥转换成BigInteger or bytes[]
PS:
我是 cryptocurrency
将字符串私钥转换成bytes[]
:
ECKey key = ECKey.fromPrivate(prv.getBytes());
或者,将字符串私钥转换为BigInteger
:
BigInteger privKey = Base58.decodeToBigInteger(prv);
ECKey key = ECKey.fromPrivate(privKey);