为了为 web3j 开发者提供更高的灵活性,该项目由多个模块组成。
按照依赖顺序,他们分别是:
- util - 实用程序类的最小集合
- rlp - 递归长度前缀(RLP)编码器
- abi - 应用程序二进制接口(ABI)编码器
- crypto - 用于在Ethereum中的事务签名和密钥/钱包管理的加密库
- tuples - 简单的元组库
- core - web3j核心工组件(没有代码生成器)
- codegen - 代码生成器
- console - 命令行工具
以下模块只依赖 core 模块:
- geth - Geth 特定 JSON-RPC 模块
- parity - Parity 特定 JSON-RPC 模块
- infura - Infura 特定 HTTP 头支持
在大多数情况下(与网络和智能合同进行交互)只需要 core 模块。核心模块的依赖性非常小,如果您的项目集中于与Ethereum网络的非常特定的交互(比如ABI/RLP编码、事务签名但不提交等),则很可能会用到。
所有模块都发布在 Maven 中心仓库和 Bintray 中,使用为下列名称的已发布的工件,即:
Java 使用:
org.web3j:<module-name>:<version>
Android 使用:
org.web3j:<module-name>:<version>-android