1.在maven里面导入web3j相关依赖
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.bitcoinj</groupId>
<artifactId>bitcoinj-core</artifactId>
<version>0.14.6</version>
<scope>compile</scope>
</dependency>
2.设置钱包路径(imToken tokenPocket同款)
m/44'/60'/0'/0/0
3.传入助记词,直接上 代码
String ETH_TYPE = "m/44'/60'/0'/0/0";
List<String> list = Func.toStrList(" ", mnemonic);
String password = IdWorker.getIdStr();
String passphrase = "";
long creationTimeSeconds = System.currentTimeMillis() / 1000;
DeterministicSeed ds = new DeterministicSeed(list, null, passphrase, creationTimeSeconds);
String[] pathArray = ETH_TYPE.split("/");
//根私钥
byte[] seedBytes = ds.getSeedBytes();
DeterministicKey dkKey = HDKeyDerivation.createMasterPrivateKey(seedBytes);
for (int i = 1; i < pathArray.length; i++) {
ChildNumber childNumber;
if (pathArray[i].endsWith("'")) {
int number = Integer.parseInt(pathArray[i].substring(0, pathArray[i].length() - 1));
childNumber = new ChildNumber(number, true);
} else {
int number = Integer.parseInt(pathArray[i]);
childNumber = new ChildNumber(number, false);
}
dkKey = HDKeyDerivation.deriveChildKey(dkKey, childNumber);
}
ECKeyPair keyPair = ECKeyPair.create(dkKey.getPrivKeyBytes());
WalletFile walletFile = Wallet.createLight(password, keyPair);
System.out.println("地址:" + "0x" + walletFile.getAddress());
System.out.println("私钥:"+keyPair.getPrivateKey().toString(16));;
↓↓↓↓↓↓↓↓↓↓重要提示↓↓↓↓↓↓↓↓↓↓
备注:博主拥有十年区块链开发,如有合作请联系↓↓↓↓↓
如有相关讨论可以私信博主,可以w x 联系:brc20_ylr
代码已上传到项目开源地址(不定期更新):
https://gitee.com/Linriqiang/springboot-btc-eth-trx