版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wo541075754/article/details/100162076
web3j的java版本支持直接通过java代码生成以太坊钱包的公私钥地址等信息,生成的地址信息存放于本地文件当中。同时,提供了针对该文件的读取等操作。
创建maven项目并引入web3j的依赖。该依赖信息可根据web3j当前版本进行更新。
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>geth</artifactId>
<version>3.2.0</version>
</dependency>
生成地址并读取地址相关代码。
public class CreateTest1 {
public static void main(String[] args) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException, CipherException, IOException {
// 钱包存放路径
String walletFilePath = "/Users/zzs/develop/temp/address";
// 钱包密码
String password = "";
//生成钱包,对应目录下会创建对应的私钥文件。
String walletFileName = WalletUtils.generateNewWalletFile(password, new File(walletFilePath), false);
// 加载指定位置的钱包
Credentials credentials = WalletUtils.loadCredentials(password, walletFilePath + "/" + walletFileName);
String address = credentials.getAddress();
System.out.println("address:" + address);
System.out.println("PrivateKey:" + credentials.getEcKeyPair().getPrivateKey());
System.out.println("PublicKey:" + credentials.getEcKeyPair().getPublicKey());
}
}