Skip to content

Consensys/teku

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f772ec6 · Dec 11, 2024
Oct 11, 2024
Sep 27, 2024
Sep 27, 2024
Jun 26, 2024
Dec 9, 2024
Dec 9, 2024
Jul 27, 2023
Dec 9, 2024
Jul 23, 2024
Nov 6, 2024
Dec 9, 2024
Oct 16, 2024
Dec 11, 2024
Oct 16, 2024
Dec 6, 2024
Dec 9, 2024
Dec 11, 2024
Oct 8, 2024
Dec 11, 2024
Nov 22, 2024
Dec 1, 2024
Dec 1, 2024
Dec 11, 2024
May 23, 2024
Dec 5, 2024
Jun 10, 2022
May 23, 2024
Jul 29, 2020
Dec 10, 2024
Dec 18, 2023
Dec 3, 2023
Jul 5, 2024
Jul 27, 2023
Dec 20, 2018
Jul 23, 2024
Sep 6, 2020
Dec 6, 2024
Jul 27, 2023
Oct 7, 2021
Jul 24, 2024
Jul 24, 2024
Sep 30, 2021
Dec 6, 2023

Repository files navigation

teku

Build Status GitHub License Documentation Discord Twitter Follow GitPOAP Badge

Teku is an open-source Ethereum consensus client written in Java and containing a full beacon node and validator client implementation.

See the Changelog for details of the latest releases and upcoming breaking changes.

Useful links

Teku users

See our user documentation.

Raise a documentation issue or get in touch in the #teku channel on Discord if you've got questions or feedback.

Teku developers

Binary Releases

Binary releases are available from the releases page. Binary builds that track the latest changes on the master branch are available on Dockerhub using the develop version or as binary downloads (tar.gz format or zip format).

We recommend only using release versions for Mainnet, but develop builds are useful for testing the latest changes on testnets.

Release notifications are available via:

Build Instructions

Install Prerequisites

  • Java 21+

Note: Official builds of Teku are performed with Java 21. Building on a more recent version of Java is supported, but the resulting build will not work on earlier versions of Java.

Build and Dist

To create a ready to run distribution:

git clone https://github.com/Consensys/teku.git
cd teku && ./gradlew distTar installDist

This produces:

  • Fully packaged distribution in build/distributions
  • Expanded distribution, ready to run in build/install/teku

Build and Test

To build, clone this repo and run with gradle:

git clone https://github.com/Consensys/teku.git
cd teku && ./gradlew

After a successful build, distribution packages are available in build/distributions.

Other Useful Gradle Targets

Target Builds
distTar Full distribution in build/distributions (as .tar.gz)
distZip Full distribution in build/distributions (as .zip)
installDist Expanded distribution in build/install/teku
distDocker The consensys/teku docker image

Code Style

We use Google's Java coding conventions for the project. To reformat code, run:

./gradlew spotlessApply

Code style is checked automatically during a build.

Testing

All the unit tests are run as part of the build, but can be explicitly triggered with:

./gradlew test

Special thanks

YourKit for providing us with a free profiler open source license.

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

YourKit Logo