为了给希望使用web3j的开发人员提供更大的灵活性,项目由多个模块组成。 根据依赖顺序,列一下: 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 : 命令行工具。 下面的模块只依赖于核心模块: org.web3j.geth :geth专用JSON-RPC模块。 org.web3j.parity :Parity专用JSON-RPC模块。 org.web3j.infura :Infura特定HTTP头支持。 对于大多数用例来说通过web3j来与网络和智能合约交互,核心模块就可以满足你的大部分需要。核心模块的依赖性非常颗粒状,如果你的项目主要集中在与以太坊网络的特定交互上(如ABI/RLP编码、交易签名、而不是提交等),则这些模块很可能需要被使用。 所有模块都发布到Maven Central和Bintray,使用上面列出的名称发布的模块名,即: 对于Java: