Java Implementation of the Ethereum 2.0 Beacon Chain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Enrico Del Fante bfb1349edf
Fix signature verification on fork boundaries (#6953)
11 hours ago
.circleci Use latest release of trivy (#6923) 2 weeks ago
.github Upgrade to CodeQL Action v2 (#6047) 7 months ago
.openapidoc Updating git-url-parse from 12.0.0 to 13.1.0 (#6227) 6 months ago
acceptance-tests Update ATs to use Besu 23.1.1 (#6950) 5 days ago
beacon EL logging improvements (#6954) 4 days ago
buildSrc Make distributions reproducible (#5852) 9 months ago
dashboard added grafana dashboard (#1694) 3 years ago
data Create calculateProposerSlashingsRewards method in ChainDataProvider (#6925) 19 hours ago
docker Allow other users to read the /opt/teku dir when using docker (#6743) 2 months ago
eth-benchmark-tests [EIP-4844] Implement BlobsManager (#6636) 2 months ago
eth-reference-tests Updated tests to cover RC4 tests (#6958) 1 day ago
eth-tests Updated tests to cover RC4 tests (#6958) 1 day ago
ethereum Fix signature verification on fork boundaries (#6953) 11 hours ago
fork-choice-tests [EIP-4844] Implement BlobsManager (#6636) 2 months ago
fuzz Rename EIP-4844 to Deneb (#6783) 1 month ago
gradle Revert "Updated jackson libraries to switch to using dataformats-text (#6962)" (#6964) 1 day ago
infrastructure EL logging improvements (#6954) 4 days ago
interop-keys Update copyright notice on all files (#5769) 9 months ago
networking fetch available blobs only (#6949) 4 days ago
scripts Fix typos (#6676) 2 months ago
services Negotiating Engine API capabilities with EL (#6944) 6 days ago
storage Updated tests to cover RC4 tests (#6958) 1 day ago
teku Updated tests to cover RC4 tests (#6958) 1 day ago
test-network Enable Altair in docker testnet (#5441) 11 months ago
validator Send validator registrations on reconnections to the event stream (#6919) 2 weeks ago
.gitattributes Add database compatibility test (#5752) 9 months ago
.gitignore Replace eth2.0 references to github with consensus (#6836) 1 month ago
.gitmodules Ref test fix (#923) 4 years ago
BugTriaging.md Fix ordering of risk matrix table (#2479) 3 years ago
CHANGELOG.md Updated Capella epoch for mainnet (#6957) 1 day ago
CLA.md Update emails and PegaSys references (#2732) 3 years ago
CODE-OF-CONDUCT.md Update emails and PegaSys references (#2732) 3 years ago
CONTRIBUTING.md add link checker (#4004) 2 years ago
GOVERNANCE.md add link checker (#4004) 2 years ago
LICENSE initial commit for artemis. resolves #88 4 years ago
README.md Replace eth2.0 references to github with consensus (#6836) 1 month ago
SECURITY.md Update emails and PegaSys references (#2732) 3 years ago
build.gradle move to reference tests v1.3.0-rc.5 (#6968) 1 day ago
community-membership.md Fix typos (#6676) 2 months ago
gradle.properties increase timeout to reduce chances of publish failure. (#4459) 1 year ago
gradlew Update dependencies (#6947) 6 days ago
gradlew.bat Update dependencies (#6889) 3 weeks ago
mlc_config.json fix links in readme (#4432) 1 year ago
settings.gradle Eip4844 types (#6421) 4 months ago

README.md

teku

Build Status License GitHub release (latest by date) Discord GitPOAP Badge

Teku is a Java implementation of the Ethereum 2.0 Beacon Chain. See the Changelog for details of the latest releases and upcoming breaking changes.

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 11+

Note: Official builds of Teku are performed with Java 11. 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