Teku command line options
This reference describes the syntax of the Teku command line interface (CLI) options.
The CLI options are currently under development and may change.
Specify options
You can specify Teku options:
-
On the command line.
teku [OPTIONS] [COMMAND]
-
As an environment variable. For each command line option, the equivalent environment variable is:
- Uppercase.
-
is replaced by_
.- Has a
TEKU_
prefix.
-
In a YAML configuration file.
If an option is specified in multiple places, the order of priority is command line, environment variable, configuration file.
Using autocomplete
If using Bash or Z shell, you can enable autocomplete support by navigating to the build
folder and running:
source teku.autocomplete.sh
Autocomplete allows you to view option suggestions by entering --
and pressing the Tab key twice.
teku --Tab+Tab
Options
beacon-liveness-tracking-enabled
- Syntax
- Example
- Environment variable
- Configuration file
--beacon-liveness-tracking-enabled[=<BOOLEAN>]
--beacon-liveness-tracking-enabled=true
TEKU_BEACON_LIVENESS_TRACKING_ENABLED=true
beacon-liveness-tracking-enabled: true
Enables or disables validator liveness tracking. Used by doppelganger detection. The default is false
.
builder-bid-compare-factor
- Syntax
- Example
- Environment variable
- Configuration file
--builder-bid-compare-factor=<STRING>
--builder-bid-compare-factor=50
TEKU_BUILDER_BID_COMPARE_FACTOR=50
builder-bid-compare-factor: 50
The builder bid compare factor. The default is 100 (100%).
Execution layer clients in Capella-enabled networks provide the execution payload and the payload value. The beacon node compares this value against the builder bid to maximize the validator's profit or decrease network censorship at a low or no cost.
Use this option to set the compare factor applied to the builder bid value when comparing it to the locally produced payload. The factor is expressed in a percentage. For example, a builder bid compare factor of 80
means the local payload is chosen when its value is at least 80% of the builder bid value.
Set this option to BUILDER_ALWAYS
to always use the builder bid, unless the bid is invalid.
builder-endpoint
- Syntax
- Example
- Environment variable
- Configuration file
--builder-endpoint=<URL>
--builder-endpoint=http://127.0.0.1:18550
TEKU_BUILDER_ENDPOINT=http://127.0.0.1:18550
builder-endpoint: "http://127.0.0.1:18550"
The address for an external builder endpoint.
builder-set-user-agent-header
- Syntax
- Example
- Environment variable
- Configuration file
--builder-set-user-agent-header[=<BOOLEAN>]
--builder-set-user-agent-header=true
TEKU_BUILDER_SET_USER_AGENT_HEADER=true
builder-set-user-agent-header: true
Set the User-Agent header to teku/v<version>
(for example, teku/v23.4.0
) when making a builder bid request to help builders identify clients and versions. The default is true
.
checkpoint-sync-url
- Syntax
- Example
- Environment variable
- Configuration file
--checkpoint-sync-url=<URL>
--checkpoint-sync-url="https://beaconstate.ethstaker.cc"
TEKU_CHECKPOINT_SYNC_URL="https://beaconstate.ethstaker.cc"
checkpoint-sync-url: "https://beaconstate.ethstaker.cc"
URL of a Checkpointz endpoint used to start Teku from a recent state.
By default, Teku tries to download the finalized state from the endpoint. If it can't download the finalized state, it tries to download the genesis state.
When this option is set, and --deposit-snapshot-enabled
is also not set or disabled,
the --checkpoint-sync-url
value will be used to determine the deposit snapshot.
config-file
- Syntax
- Example
- Environment variable
--config-file=<FILE>
--config-file=/home/me/me_node/config.yaml
TEKU_CONFIG_FILE=/home/me/me_node/config.yaml
Path to the YAML configuration file. The default is none
.
data-base-path, data-path
- Syntax
- Example
- Environment variable
- Configuration file
--data-base-path=<PATH>
--data-base-path=/home/me/me_node
TEKU_DATA_BASE_PATH=/home/me/me_node
data-base-path: "/home/me/me_node"
Path to the Teku data directory. The default directory is OS-dependent:
- macOS:
~/Library/teku
- Unix/Linux:
$XDG_DATA_HOME/teku
if$XDG_DATA_HOME
is set; otherwise~/.local/share/teku
- Windows:
%localappdata%\teku
.
The default Docker image location is /root/.local/share/teku
.
data-beacon-path
- Syntax
- Example
- Environment variable
- Configuration file
--data-beacon-path=<PATH>
--data-beacon-path=/home/me/me_beacon
TEKU_DATA_BEACON_PATH=/home/me/me_beacon
data-beacon-path: "/home/me/me_beaon"
Path to the beacon node data. The default is <data-base-path>/beacon
where <data-base-path>
is specified using --data-base-path
.
data-storage-archive-frequency
- Syntax
- Example
- Environment variable
- Configuration file
--data-storage-archive-frequency=<NUMBER>
--data-storage-archive-frequency=1028
TEKU_DATA_STORAGE_ARCHIVE_FREQUENCY=1028
data-storage-archive-frequency: 1028
Set the frequency (in slots) at which to store finalized states to disk. The default is 2048.
This option is ignored if --data-storage-mode
is not set to archive
.
Specifying a larger number of slots as the archive frequency has a potentially higher overhead for retrieving finalized states since more states may need to be regenerated to get to the requested state. Specifying a lower number of slots as the frequency increases the disk space usage.
For example, --data-storage-archive-frequency=1
uses maximum disk space but has the lowest response time for retrieving a finalized state since each slot state is saved, whereas --data-storage-archive-frequency=2048
uses less disk space, but may need to regenerate the state because every 2048th slot state is saved.
data-storage-mode
- Syntax
- Example
- Environment variable
- Configuration file
--data-storage-mode=<STORAGE_MODE>
--data-storage-mode=archive
TEKU_DATA_STORAGE_MODE=archive
data-storage-mode: "archive"
Set the strategy for handling historical chain data. Valid options are:
minimal
- Stores the minimal required data to follow the chain and run validators. Finalized states and historic blocks are pruned.prune
- Stores all blocks, but finalized states are pruned.archive
- Stores all blocks and states.
The default is minimal
.
data-storage-non-canonical-blocks-enabled
- Syntax
- Example
- Environment variable
- Configuration file
--data-storage-non-canonical-blocks-enabled[=<BOOLEAN>]
--data-storage-non-canonical-blocks-enabled=true
TEKU_DATA_STORAGE_NON_CANONICAL_BLOCKS_ENABLED=true
data-storage-non-canonical-blocks-enabled: true
Specify whether to store non-canonical blocks and blob sidecars. The default is false
.
data-validator-path
- Syntax
- Example
- Environment variable
- Configuration file
--data-validator-path=<PATH>
--data-validator-path=/home/me/me_validator
TEKU_DATA_VALIDATOR_PATH=/home/me/me_validator
data-validator-path: "/home/me/me_validator"
Path to the validator client data. The default is <data-base-path>/validator
where <data-base-path>
is specified using --data-base-path
.
doppelganger-detection-enabled
- Syntax
- Example
- Environment variable
- Configuration file
--doppelganger-detection-enabled[=<BOOLEAN>]
--doppelganger-detection-enabled=true
TEKU_DOPPELGANGER_DETECTION_ENABLED=true
doppelganger-detection-enabled: true
Enables or disables doppelganger detection. The default is false
.
exit-when-no-validator-keys-enabled
- Syntax
- Example
- Environment variable
- Configuration file
--exit-when-no-validator-keys-enabled[=<BOOLEAN>]
--exit-when-no-validator-keys-enabled=true
TEKU_EXIT_WHEN_NO_VALIDATOR_KEYS_ENABLED=true
exit-when-no-validator-keys-enabled: true
If set to true
Teku won't start if validators have not been loaded, or there are no active validators. The default is false
.
If the validator client and beacon node are run separately, then add this option to the validator client side only. This option should be used on the client loading the validator keys.
ee-endpoint
- Syntax
- Example
- Environment variable
- Configuration file
--ee-endpoint=<URL>
--ee-endpoint=http://localhost:8550
TEKU_EE_ENDPOINT=http://localhost:8550
ee-endpoint: "http://localhost:8550"
URL of the execution client's Engine JSON-RPC APIs. This replaces eth1-endpoint
after The Merge.