Go-Ethereum

使用 Web3j 創建錢包

  • November 15, 2018

我生成了一個程式碼來為用乙太坊製作的私有鏈創建錢包。

String password = unlockAccountParameter.getPass();
       ECKeyPair keyPair = Keys.createEcKeyPair();
       WalletFile wallet = Wallet.createStandard(password, keyPair);

       System.out.println("Private key: " + keyPair.getPrivateKey().toString(16));
       System.out.println("Account: " + wallet.getAddress());

       String fileName = WalletUtils.generateNewWalletFile(unlockAccountParameter.getPass(), new File("C:\\Users\\emendez\\Wallet"), true);

       System.out.println("File name: " + fileName);

那就是給我這個輸出:

私有密鑰:67f7a218d5d595dff19cafca9384b5a6e0693bc085d7c16468b8a8a44e20135a 帳戶:bf29892787a79bb66188f9c44ca9ffd9ccff37aa

文件名:UTC–2018-11-15T12-26-51.672000000Z–252209a58e16be3c43776e38ff4bfaeb70660cfb.json

JSON 文件位於寫入程式碼的路徑中(在真機中)。但是當我去 geth 控制台列出在節點(虛擬機)中創建的帳戶時,我剛剛創建的帳戶不會出現。

所以我認為我不能在他們之間進行交易。

有什麼幫助嗎??

問題可能與您存放錢包的位置有關。

要自動檢測到,錢封包件需要儲存在keystore安裝 geth 的文件夾內的一個文件夾中。這些是最常見的路徑:

– Mac:~/圖書館/乙太坊

– Linux:~/.ethereum

– Windows:%USERPROFILE%\AppData\Roaming\Ethereum

如果您無法訪問該文件夾,您可以使用以下命令導入您的帳戶:

geth account import --datadir /fileWithOnlyPrivateKey --password /fileWithPasswordStringToEncryptThatKey ./key.prv

您的最終解決方案是在您的程式碼中生成交易,並將已簽名的交易發送到節點(如果您可以保證私鑰安全,這將是最安全的方法),查看 web3 以了解如何做到這一點

引用自:https://ethereum.stackexchange.com/questions/62415