java和android开发以太坊智能合约的类库web3j模块简介

为了给希望使用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:

org.web3j:<模块名>:<版本>

对于Android:

org.web3j:<模块名>:<版本>-Android

  • Web3j教程,主要介绍java和android app通过web3j进行区块链以太坊开发,适合java程序员。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。

汇智网原创翻译,转载请标明出处,官方原文org.web3j