如何使用Web3j生成私鑰和地址,而不只是建立金鑰儲存JSON檔案?

馬拉喀什發表於2018-07-18

一個我提供的方法,通過將結果privatekey匯入到MetaMask中並獲得與預期相同的地址來驗證:

private static JSONObject process(String seed){

         JSONObject processJson = new JSONObject();

         try {
            ECKeyPair ecKeyPair = Keys.createEcKeyPair();
            BigInteger privateKeyInDec = ecKeyPair.getPrivateKey();

            String sPrivatekeyInHex = privateKeyInDec.toString(16);

            WalletFile aWallet = Wallet.createLight(seed, ecKeyPair);
            String sAddress = aWallet.getAddress();


            processJson.put("address", "0x" + sAddress);
            processJson.put("privatekey", sPrivatekeyInHex);


        } catch (CipherException e) {
            //
        } catch (InvalidAlgorithmParameterException e) {
            //
        } catch (NoSuchAlgorithmException e) {
            //
        } catch (NoSuchProviderException e) {
            //
        } 

        return processJson;
}


main(){  // unit test 
    String seed = UUID.randomUUID().toString();
    JSONObject result = process(seed); // get a json containing private key and address
}

原文《以太坊常見問題和錯誤》中的:
http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/5/

另外推薦幾個很受歡迎全網稀缺的互動教程:

  • web3j,主要是針對java和android程式設計師圍繞web3j庫進行區塊鏈以太坊開發的講解。
  • python以太坊,主要是針對python圍繞web3.py進行區塊鏈以太坊應用開發的講解。
  • php以太坊,主要是介紹使用php進行智慧合約開發互動,進行賬號建立、交易、轉賬、代幣開發以及過濾器和事件等內容。
  • 以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • 以太坊教程,主要介紹智慧合約與dapp應用開發,適合入門。


相關文章