如何使用Web3J创建、导入以太坊钱包

1. 依赖导入

        
            org.web3j
            core
            
            3.4.0
        
        
            org.web3j
            crypto
            RELEASE
        
        
        
            io.github.novacrypto
            BIP32derivation
            0.0.2
        

        
            io.github.novacrypto
            BIP39
            0.1.9
        

        
            io.github.novacrypto
            BIP44
            0.0.3
        

        
            org.bitcoinj
            bitcoinj-core
            0.14.6
            compile
        

2.创建钱包

钱包可以创建助记词或非助记词钱包;钱包创建在以太坊地址上会生成八个路径上的不同钱包地址;这里选择"m/44'/60'/0'/0/0";也是市面上大部分钱包所选择的:

    /**
    *生成的keyStore文本的存储位置
    */
    @Value("${wallet.keyStore.path}")
    private String filePath;
    /**
     * 通用的以太坊基于bip44协议的助记词路径 (imtoken jaxx Metamask myetherwallet)
     */
    private static String ETH_TYPE = "m/44'/60'/0'/0/0";

    private static SecureRandom secureRandom = new SecureRandom();

生成无助记词钱包:

     /**
     * 生成eth钱包 保存对应的keyStore(无助记词方式)
     * @param password
     * @return
     * @throws NoSuchAlgorithmException
     * @throws NoSuchProviderException
     * @throws InvalidAlgorithmParameterException
     * @throws CipherException
     * @throws IOException
     */
    public String createWallet(String password) throws NoSuchAlgorithmException, NoSuchProviderException,
            InvalidAlgorithmParameterException, CipherException, IOException {
        File file = new File(filePath);
        String fileName = WalletUtils.generateFullNewWalletFile(password, file);
        System.out.println(fileName);
        return  fileName;
    }

阅读更多

你可能感兴趣的:(如何使用Web3J创建、导入以太坊钱包)