为了给但愿使用web3j的开发人员提供更大的灵活性,项目由多个模块组成。html
根据依赖顺序,列一下:java
- org.web3j.utils :最小实用模块。
- org.web3j.rlp :递归长度前缀(RLP)编码器。
- org.web3j.abi :应用的二进制接口(ABI)编码器。
- org.web3j.crypto :用于以太坊交易签名和密钥/钱包管理密码所需的加密库。
- org.web3j.tuples :简单元组模块。
- org.web3j.core :Web3j除了代码生成器外的核心模块。
- org.web3j.codegen: 代码生成器。
- org.web3j.console : 命令行工具。
下面的模块只依赖于核心模块:node
- org.web3j.geth :geth专用JSON-RPC模块。
- org.web3j.parity :Parity专用JSON-RPC模块。
- org.web3j.infura :Infura特定HTTP头支持。
对于大多数用例来讲经过web3j来与网络和智能合约交互,核心模块就能够知足你的大部分须要。核心模块的依赖性很是颗粒状,若是你的项目主要集中在与以太坊网络的特定交互上(如ABI/RLP编码、交易签名、而不是提交等),则这些模块极可能须要被使用。android
全部模块都发布到Maven Central和Bintray,使用上面列出的名称发布的模块名,即:程序员
对于Java:web
org.web3j:<模块名>:<版本>mongodb
对于Android:网络
org.web3j:<模块名>:<版本>-Androidapp
- Web3j教程,主要介绍java和android app经过web3j进行区块链以太坊开发,适合java程序员。
- 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
- 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
汇智网原创翻译,转载请标明出处,官方原文org.web3j。工具