web3j以太坊java开发包详解

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。

web3j的功能相当完整,除了以太坊JSON RPC的完整封装,它还包括完备的账户管理及交易管理实现。
不过web3j最大的问题是文档比较差。如果你希望快速掌握如何使用web3j开发支持以太坊的java应用或安卓应用,可以访问这个web3j教程,这是目前已知最快的学习路径。

web3j的功能组织在不同的包中,下图展示了org.web3j的主要包以及其间的依赖关系:

web3j以太坊java开发包详解

core:JSON RPC协议的封装主要由包org.web3j.core实现,它依赖于org.web3j.crypto包提供的密钥与签名相关的功能,以及org.web3j.abi包提供的java/solidity类型映射支持。

consoleorg.web3j.console包实现了一个可以单独运行的命令行程序web3j,我们将使用它来生成solidity合约的Java封装类,其中,org.web3j.codegen包实现了从abi到java封装类的代码生成。

节点相关org.web3j.infura包封装了对Infura公共节点旳http访问服务接口,
org.web3j.gethorg.web3j.parity则分别封装了这两种常用以太坊节点软件旳管理接口。

原文:http://blog.hubwiz.com/2018/06/22/web3j-packages/

猜你喜欢

转载自blog.51cto.com/13692892/2131618