第一步先創建maven項目,在項目的pom文件依賴中添加web3j
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.2.0</version>
</dependency>
創建錢包
利用org.web3j.crypto.WalletUtils的public static String generateNewWalletFile(String password, File destinationDirectory)方法創建錢包
String wallet = WalletUtils.generateNewWalletFile("123465", new File("D:/"));
generateNewWalletFile 方法 入參
password | String | 錢包密碼 |
destinationDirectory | File | 要創建本地錢包文件的目錄 |
useFullScrypt | boolean | 是否爲輕量級錢包true全錢包 false 輕量級錢包 |
創建錢包僞代碼:
//創建錢包
try {
String s = WalletUtils.generateNewWalletFile("123465", new File("D:/"));
} catch (CipherException e) {
e.printStackTrace();
} catch (InvalidAlgorithmParameterException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
}
代碼執行完後會在文件目錄下創建一個json文件這個就是以太坊錢包,僅僅只是本地的文件。如果需要操作錢包的話,則需要通過調用WalletUtils.loadCredentials(String password, File source)來生成一個錢包證書。
錢包證書類org.web3j.crypto.Credentials包括address,ECKeyPair 兩個屬性,其中address爲錢包地址字符串。ECKeyPair對象中包括錢包的公鑰privateKey和私鑰publicKey兩個屬性,這兩個屬性都是BigInteger類型
創建錢包僞代碼:
Credentials credentials = WalletUtils.loadCredentials("123456", new File("D:/UTC--2019-09-03T16-31-31.955004500Z--a8d1680c19394f388b9a9bb3e2c4051286ac9554.json"));