Ethereum for Java developers
Page last update: August 25, 2025
Use Ethereum to create decentralized applications (or "dapps") that utilize the benefits of cryptocurrency and blockchain technology. These dapps can be trustworthy, meaning that once they are deployed to Ethereum, they will always run as programmed. They can control digital assets in order to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them and are nearly impossible to censor.
Getting started with smart contracts and the Solidity language
Take your first steps to integrating Java with Ethereum
Need a more basic primer first? Check out ethereum.org/learn or ethereum.org/developers.
- Blockchain Explainedopens in a new tab
- Understanding Smart Contractsopens in a new tab
- Write your First Smart Contractopens in a new tab
- Learn How to Compile and Deploy Solidityopens in a new tab
Working with Ethereum clients
Learn how to use Web3Jopens in a new tab and Hyperledger Besu, two leading Java Ethereum Clients
- Connecting to an Ethereum client with Java, Eclipse, and Web3Jopens in a new tab
- Manage an Ethereum account with Java and Web3jopens in a new tab
- Generate a Java Wrapper from your Smart Contractopens in a new tab
- Interacting with an Ethereum Smart Contractopens in a new tab
- Listening for Ethereum Smart Contract Eventsopens in a new tab
- Using Besu (Pantheon), the Java Ethereum Client with Linuxopens in a new tab
- Running a Hyperledger Besu (Pantheon) Node in Java Integration Testsopens in a new tab
- Web3j Cheat Sheetopens in a new tab
Learn how to use ethers-ktopens in a new tab, an async, high-performance Kotlin library for interacting with EVM-based blockchains. Targeting JVM and Android platforms.
- Transfer ERC20 tokensopens in a new tab
- UniswapV2 swap with event listeningopens in a new tab
- ETH / ERC20 balance trackeropens in a new tab
Intermediate articles
- Managing storage in a Java application with IPFSopens in a new tab
- Manage ERC20 tokens in Java with Web3jopens in a new tab
- Web3j Transaction Managersopens in a new tab
Advanced use patterns
Java projects and tools
- Web3J (Library for Interacting with Ethereum Clients)opens in a new tab
- ethers-kt (Async, high-performance Kotlin/Java/Android library for EVM-based blockchains.)opens in a new tab
- Eventeum (Event Listener)opens in a new tab
- Mahuta (IPFS Dev Tools)opens in a new tab
Looking for more resources? Check out ethereum.org/developers.