teku

Build Status License Discord

Teku is a Java implementation of the Ethereum 2.0 Beacon Chain. Teku is changing rapidly hence we recommend building from the latest master. See the Changelog for known issues and 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

Build Instructions

Install Prerequisites

Build and Dist

To create a ready to run distribution:

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

This produces:

Build and Test

To build, clone this repo and run with gradle:

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

Or clone it manually:

git clone https://github.com/PegaSysEng/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 pegasyseng/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