web3j is a lightweight Java library for integrating with clients (nodes) on the Ethereum network.

Core features:
  • Interaction with Ethereum clients over JSON-RPC via Java types
  • Supports all JSON-RPC method types
  • Supports all Geth and Parity methods for managing accounts and signing transactions
  • Sending of client requests both asynchronously and synchronously
  • Auto-generation of Java smart contract function wrappers from Solidity ABI files

Currently, the go-ethereum and Parity clients are supported.