web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。
可以通过它进行以太坊区块链的开发,而无需为你的应用平台编写集成代码。
本文是对web3j官网的完整翻译,大家可以参考。当然如果希望有一个快速入门的web3j内容,并且最好是边练习实例边学习的实操教程的话。
我们有一个web3j教程课程可以满足需要,专门详细的讲解区块链、以太坊、web3j。
web3j的特点
- 基于HTTP和IPC的以太坊JSON-RPC客户端API的完整实现。
- 对于以太坊钱包的支持。
- 自动生成Java智能合约封装包,以创建、部署、交易和调用来自本机Java代码的智能合约(支持solidity和Truffle定义格式)。
- 用于过滤器工作的响应式函数API。
- 以太坊名称服务(ENS)支持。
- 支持
Parity
的(personal模块)[https://github.com/paritytech/parity/wiki/JSONRPC-personal-module]和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的主要内容
- 快速开始
- 入门介绍
- 模块
- 交易
- 智能合约
- 应用二进制接口即ABI简介
- 递归长度前缀RLP编码方案
- 过滤器Filters和事件Events
- 命令行工具
- 如何管理APIs
- 如何在web3j中使用Infura
- 以太坊名称服务ENS
- web3j常见问题解决方案
其他的教程推荐:
汇智网原创翻译,转载请标明出处。