簡體   English   中英

使用java web3j創建錢包,但是如何連接到私有運行的區塊鏈?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM