Ethereumj
如何在 ethereumj 中創建帳戶
如何在 ethereumj 中創建等效的外部帳戶 (personal.newAccount())?我知道我可以使用 jsonrpc api 來做到這一點?但是我閱讀了https://github.com/ethereum/ethereumj/issues/335,它說它可以創建一個帳戶,但它不能,它只是生成地址,但不包括/將其添加到密鑰庫中。如何將其添加到密鑰庫。
首先,您將需要以下 Maven pom.xml 依賴項:
<dependency> <groupId>org.ethereum</groupId> <artifactId>ethereumj-core</artifactId> <version>1.2.0-RELEASE</version> <!-- <type>zip</type> --> </dependency>
這是創建私鑰/帳戶對的程式碼:
import org.ethereum.crypto.ECKey; import org.spongycastle.util.encoders.Hex; public class CreateAccount { public static void main(String[] args) { ECKey key = new ECKey(); byte[] addr = key.getAddress(); byte[] priv = key.getPrivKeyBytes(); String addrBase16 = Hex.toHexString(addr); String privBase16 = Hex.toHexString(priv); System.out.println("Address : " + addrBase16); System.out.println("Private Key : " + privBase16); } }
執行程式碼兩次會產生以下輸出:
Address : 82d4b1c01afaf7f25bb21fd0b4b4c4a7eb7120ce Private Key : 133965f412d1362645cbd963619023585abc8765c7372ed238374acb884b2b3a Address : 68ccabefc7f4ae21ce0df1d98e50e099d7fc290f Private Key : 1caeb7f26cb9f3cc7d9d0dbcdd3cf3cb056dbc011ec9013e8f3b8cdb2f193b32
使用https://www.myetherwallet.com/#view-wallet-info驗證資訊:
請注意,在 EthereumJ 中創建的帳戶都是小寫的,而使用 MyEtherWallet 從私鑰生成的帳戶是混合大小寫的。這是因為 MyEtherWallet 正在使用新的校驗和帳戶。參見又一個很酷的校驗和地址編碼 #55。