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的主要内容:
另外推荐几个很受欢迎全网稀缺的互动教程:
web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。