web3j(org.web3j
)是Java版本的以太坊JSON RPC接口協議封裝實現,如果需要將你的Java應用或安卓應用接入以太坊,或者希望用java開發一個錢包應用,那麼用web3j就對了。
web3j的功能相當完整,除了以太坊JSON RPC的完整封裝,它還包括完備的賬戶管理及交易管理實現。 不過web3j最大的問題是文檔比較差。如果你希望快速掌握如何使用web3j開發支持以太坊的java應用或安卓應用,可以訪問這個web3j教程,這是目前已知最快的學習路徑。
web3j的功能組織在不同的包中,下圖展示了org.web3j
的主要包以及其間的依賴關係:
core:JSON RPC協議的封裝主要由包org.web3j.core
實現,它依賴於org.web3j.crypto
包提供的密鑰與簽名相關的功能,以及org.web3j.abi
包提供的java/solidity類型映射支持。
console:org.web3j.console
包實現了一個可以單獨運行的命令行程序web3j
,我們將使用它來生成solidity合約的Java封裝類,其中,org.web3j.codegen
包實現了從abi到java封裝類的代碼生成。
節點相關:org.web3j.infura
包封裝了對Infura公共節點旳http訪問服務接口,
org.web3j.geth
和org.web3j.parity
則分別封裝了這兩種常用以太坊節點軟件旳管理接口。