在 android dapp 中創建乙太坊錢包
我正在為 android 創建一個 DApp,並希望能夠在每個使用者註冊時為他們創建一個錢包。我正在使用 web3j,可以在命令行中看到如何製作錢包,但在 java 程式碼中看不到如何製作。理想情況下,它將使用者的私鑰和數據保存在他們的手機或同樣安全的伺服器上。有誰知道如何做到這一點?
謝謝。
Web3j 文件解釋了大部分內容。我發現這個使用 web3j 創建的 android ethereum 錢包。可能會幫助你。https://github.com/matthiaszimmermann/ethereum-paper-wallet
備選方案:我建議為 Android 交叉編譯 go-ethereum。這是一個用於移動設備的輕客戶端,不需要您下載整個區塊鏈。導入 Maven 依賴項後,您將獲得一個與區塊鏈互動的 API(範常式序)。您可以創建新帳戶、檢查餘額和發送交易。
唯一的問題是 Android API 沒有記錄,因此很難使用它。我希望開發人員將來會對此有所作為。
更新:
到目前為止,乙太坊還沒有 Android API,但 IntelliJ 或 Android Studio 中的自動完成工具會為您提供幫助。可以參考下面的程式碼對 API 有一點了解。
每當您創建一個新帳戶時,乙太坊都會創建一個密鑰庫文件,如下所示:
{“address”:“bab565b65fede…..7a98ab7c330c”,“crypto”:{“cipher”:“aes-128-ctr”,“ciphertext”:“ab4913efa82…….d3d5fe335025596”,“cipherparams “:{“iv”:“ece5ac32……..4942b58”},“kdf”:“scrypt”,“kdfparams”:{“dklen”:32,“n”:262144,“p”: 1,“r”:8,“salt”:“bcd244b8ee3def42……..0d4c78758d858d3502”},“mac”:“1c618efa10d54……3f5a3e4377”},“id”:“0e0416d0-2a58 -43c9-86cc-2c1eaa11957b”,“版本”:3}
其中“地址”是您的錢包地址,“加密”包含您使用密碼加密的私鑰。所以乙太坊將幫助你管理使用者賬戶,你只需要在使用者名和錢包地址之間創建一個映射。