web3j是一个轻量级、模块化、响应式、类型安全、支持java和Android类库,用来集成以太坊实现了智能合约等功能。利用web3j在以太坊区块链平台上,开发者不必为平台编写集成代码。核心的功能是连接以太坊、创建钱包、管理事务和对智能合约的创建、打包发布等。
web3j的特性
a、对以太坊的JSON-RPC客户端Api进行了完整的实现,包含HTTP和IPC
b、支持以太坊钱包
c、支持对Java智能合约的创建,发布,交易和从java本地代码调用合约进行自动生成和封装。
d、可以使用响应式函数API与filters工作
e、支持持Parity’s Personal和Geth’s Personal的客户端接口
f、支持Infura,但是你必须自己运行一个以太坊客户端
g、一套综合化、一体的测试示范和可运行的脚步
h、支持命令行工具
i、兼容Android平台
j、支持JP Morgan’s Quorum via web3j-quorum
开发相关的依赖
a、支持RxJava
b、使用OKHttp进行http操作
c、fast JSON序列化的核心包Jackson Core
d、crypto的Bouncy Castle和Java Scrypt
e、生成智能合约包装的JavaPoet
f、支持*nix IPC通信的Jnr-unixsocket