web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。
可以通过它进行以太坊区块链的开发,而无需为你的应用平台编写集成代码。
本文是对web3j官网的完整翻译,大家可以参考。当然如果希望有一个快速入门的web3j内容,并且最好是边练习实例边学习的实操教程的话。
web3j的特点
- 基于HTTP和IPC的以太坊JSON-RPC客户端API的完整实现。
- 对于以太坊钱包的支持。
- 自动生成Java智能合约封装包,以创建、部署、交易和调用来自本机Java代码的智能合约(支持solidity和Truffle定义格式)。
- 用于过滤器工作的响应式函数API。
- 以太坊名称服务(ENS)支持。
- 支持Parity的personal模块和Geth的personal客户端API。
- 支持Infura,所以你不必自己运行一个以太坊客户端。
- 综合集成测试并展示了以上几种场景。
- 命令行工具。
- Android兼容。
- 通过web3j-quorum支持JP摩根的Quorum。
依赖关系
它具有五个运行时依赖关系:
- RXJava的响应式函数API。
- 用于HTTP连接的OKHttp。
- Jackson Core用于JSON的快速序列化/反序列化。
- 加密方面需要Bouncy Castle在android上是Spongy Castle - Jnr-unixsocket用于*nix IPC(在Android上不可用)。
它还使用JavaPoet生成智能合约封装包。
web3j的主要内容:
另外推荐几个很受欢迎全网稀缺的互动教程: