consensus-specs/presets/README.md
Diederik Loerakker 76cc964a37
Update presets/README.md
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-05-19 17:58:57 +02:00

1.2 KiB

Presets

Presets are more extensive than runtime configurations, and generally only applicable during compile-time. Each preset is defined as a directory, with YAML files per fork.

Configurations can extend a preset by setting the PRESET_BASE variable. An implementation may choose to only support 1 preset per build-target and should validate the PRESET_BASE variable in the config matches the running build.

Standard presets:

  • mainnet/: Used in mainnet, mainnet-like testnets (e.g. Prater), and spec-testing
  • minimal/: Used in low-resource local dev testnets, and spec-testing

Client implementers may opt to support additional presets, e.g. for extra large beacon states for benchmarking. See /configs/ for run-time configuration, e.g. to configure a new testnet.

Forking

Like the config forking, the preset extends with every fork, instead of overwriting previous values. An implementation can ignore preset files as a whole for future forks, and can thus implement stricter compile-time warnings on unrecognized or missing variables in current forks.

Format

The preset format matches the config format.