Consensus Clients: Teku

Teku

Formerly known as Artemis, Teku is a consensus client built to meet institutional needs and security requirements. PegaSys is an arm of ConsenSys, dedicated to building enterprise-ready clients and tools for interacting with the core Ethereum platform.More on PegaSys Teku More on ConsenSys

Language information

Teku is Apache 2 licensed and written in Java, a language notable for its maturity and ubiquity.

Become a validator with Teku

Teku installation documentation

Key management

Teku needs to be pointed at files containing keystores and their associated passwords at startup. There are 3 methods for doing so.

Command Line

When launching Teku, keystores and passwords can be provided in different ways.
  • <KEY_DIR>:<PASS_DIR>
  • <KEY_FILE_1>:<PASS_FILE_1>,...,<KEY_FILE_N>:<PASS_FILE_N> of paths via the --validators-keys option.

Environment variables

Teku will also load validators from keystores (and passwords) from the paths found in the validator keys environment variable.TEKU_VALIDATORS_KEYS

Configuration file

Teku can also be configured via a YAML file which is passed in via a few different ways.
  • The config file CLI argument
    • --config-file
  • The Teku config file environment variable
    • TEKU_CONFIG_FILE
The YAML files can have different syntaxes.
  • validators-keys: [<KEY_DIR>:<PASS_DIR>]
  • validators-keys: [<KEY_FILE_1>:<PASS_FILE_1>,...,<KEY_FILE_N>:<PASS_FILE_N>]

Note

<KEY_DIR>:<PASS_DIR> will find <KEY_DIR>/**.json, and expect to find <PASS_DIR>/**.txt. <KEY_FILE>:<PASS_FILE> will expect that the <KEY_FILE> exists, and the file containing the password for it is <PASS_FILE>. The path separator is operating system dependent, and should be ; in Windows rather than :.

Troubleshooting

Documentation

Teku documentation