[英]Using java web3j to create wallet but how then connect to private running blockchain?
我正在使用java web3j lib並使用以下命令創建一個新的錢包文件:
WalletUtils.generateFullNewWalletFile()
帶有:
Web3j web3 = Web3j.build(new HttpService());
...我正在連接到運行geth的本地私有區塊鏈。
問題是。 如何向我的錢包添加測試,以及本地創建的錢包和正在運行的geth客戶端之間的上下文是什么?
如何將web3j創建的錢包與geth客戶端連接?
帶有:
WalletUtils.loadCredentials()
..我可以獲取錢包的公共地址,但是在使用時,該帳戶未在geth客戶端中列出:
web3.ethAccounts().send().getAccounts()
這如何搭配在一起?
初始化私有區塊鏈時,需要在genesis.json
指定初始的ether。
一個簡單的例子:
{
"config": {
"chainId": 29462
},
"difficulty": "0x400",
"gasLimit": "0x8000000",
"alloc": {
"d69cc234de15189f0ba998a41421961e89837fc5": {
"balance": "30000000000000000000000000000"
}
}
}
需要在初始化創世塊之前創建此處指定的地址。 您可以使用geth
手動創建地址,也可以使用通過WalletUtils.generateFullNewWalletFile()
創建的地址。 這里重要的部分是確保在運行geth
命令時使用相同的密鑰庫目錄。 無論您傳遞給generateFullNewWalletFile()
destinationDirectory
什么,都需要使用--keystore
選項傳遞給geth
。
如果您已經創建了私有區塊鏈並將以太幣分配給與在web3j中創建的賬戶不同的賬戶,請確保兩個賬戶都使用相同的密鑰庫目錄(並且該目錄與--keystore
選項匹配),並且只需將以太幣從原始帳戶轉移到您創建的新帳戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.