01-web3j简介


文章是本人学习过程翻译,原文来自官方文档:https://web3j.readthedocs.io/en/latest/#

官网:https://web3j.io/

官方GitHub:https://github.com/web3j/web3j

官方demo:https://github.com/web3j/web3j/tree/master/integration-tests

文档版本v3.4.0。

web3j是一个高度模块化、反应性、类型安全的Java和Android库,与智能合约、以太坊网络客户端节点交互。


01-web3j简介_第1张图片
输入图片说明

特点

  • 完全实现以太坊JSON-RPC客户端API,包括HTTP和IPC接口
  • Ethereum wallet support
  • 自动生成java智能合约类包,使用native java代码来创建、部署、交易、调用智能合约(支持solidity和truffle定义格式)
  • Reactive-functional API for working with filters
  • 支持Ethereum Name Service (ENS)
  • 支持Parity的personal和geth的personal客户端APIs
  • 支持Infura,你不用自己去运行一个ethereum客户端
  • Comprehensive integration tests demonstrating a number of the above scenarios
  • 命令行工具
  • 兼容Android
  • 提供了支持JP Morgan's Quorum项目的java api(web3j-quorum)

Quorum:摩根大通的区块链项目Quorum,是一个基于以太坊的分布式账本协议,其具有交易与合约隐私功能 ,它是通过一种新的共识机制来实现的。

infura: 官网https://infura.io/,本地安装geth的方法需要花比较多的时间和空间来同步区块,利用infura可以简单很多,infura提供公开以太坊和测试节点,可以利用infura提供的api访问以太坊以及IPFS。去官网只需要提供email注册得到链接即可。

RxJava:是一个实现异步操作的库

依赖

有5个运行时依赖包

  • RxJava for its reactive-functional API
  • OKHttp for HTTP connections
  • Jackson Core for fast JSON serialisation/deserialisation
  • Bouncy Castle (Spongy Castle on Android) for crypto
  • Jnr-unixsocket for *nix IPC (not available on Android)

还有,使用JavaPoet来生成智能合约类包。

你可能感兴趣的:(01-web3j简介)