# teku
**Repository Path**: mygitcodehost/teku
## Basic Information
- **Project Name**: teku
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-07-02
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# teku
[](https://circleci.com/gh/PegaSysEng/workflows/teku)
[](https://github.com/PegasysEng/teku/blob/master/LICENSE)
[](https://discord.gg/7hPv2T6)
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](CHANGELOG.md) for known issues and breaking changes.
## Useful links
* [Ethereum 2.0 Beacon Chain specification](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/beacon-chain.md)
* [Teku user documentation](https://docs.teku.pegasys.tech/)
* [Teku REST API reference documentation](https://pegasyseng.github.io/teku/)
* [Teku issues](https://github.com/PegaSysEng/teku/issues)
* [Contribution guidelines](CONTRIBUTING.md)
* [Teku Changelog](CHANGELOG.md)
## Teku users
See our [user documentation](https://docs.teku.pegasys.tech/).
Raise a [documentation issue](https://github.com/PegaSysEng/doc.teku/issues) or get in touch in
the #teku channel on [Discord](https://discord.gg/7hPv2T6) if you've got questions or feedback.
## Teku developers
* [Contribution Guidelines](CONTRIBUTING.md)
* [Coding Conventions](https://github.com/hyperledger/besu/blob/master/CODING-CONVENTIONS.md)
## Build Instructions
### Install Prerequisites
* Java 11
### Build and Dist
To create a ready to run distribution:
```shell script
git clone https://github.com/PegaSysEng/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`:
```shell script
git clone https://github.com/PegaSysEng/teku.git
cd teku && ./gradlew
```
Or clone it manually:
```shell script
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:
```shell script
./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:
```shell script
./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.
