update docs with config usage
This commit is contained in:
parent
90c4a7599b
commit
48e1ef193a
|
@ -6,13 +6,13 @@ For configuration, see [Configs documentation](../../../../../configs/README.md)
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from eth2spec.config import config_util
|
from eth2spec.config import config_util
|
||||||
from eth2spec.phase0.mainnet import as spec
|
from eth2spec.phase0 import mainnet as spec
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# To load the default configurations
|
# To load the default configurations
|
||||||
config_util.load_defaults(Path("eth2.0-specs/configs")) # change path to point to equivalent of specs `configs` dir.
|
config_util.load_defaults(Path("eth2.0-specs/configs")) # change path to point to equivalent of specs `configs` dir.
|
||||||
# After loading the defaults, a config can be chosen: 'mainnet', 'minimal', or custom network config (by file path)
|
# After loading the defaults, a config can be chosen: 'mainnet', 'minimal', or custom network config (by file path)
|
||||||
spec.config = spec.Configuration(**config_util.load_config_file('mytestnet.yaml'))
|
spec.config = spec.Configuration(**config_util.load_config_file(Path('mytestnet.yaml')))
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: previously the testnet config files included both preset and runtime-configuration data.
|
Note: previously the testnet config files included both preset and runtime-configuration data.
|
||||||
|
|
|
@ -176,21 +176,14 @@ reveal_deadlines_setting: -- optional, can have 2 different values:
|
||||||
1: `process_reveal_deadlines` is OFF.
|
1: `process_reveal_deadlines` is OFF.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
##### `config.yaml`
|
||||||
|
|
||||||
## Config
|
The runtime-configurables may be different for specific tests.
|
||||||
|
When present, this replaces the default runtime-config that comes with the otherwise compile-time preset settings.
|
||||||
|
|
||||||
A configuration is a separate YAML file.
|
The format matches that of the `mainnet_config.yaml` and `minimal_config.yaml`,
|
||||||
Separation of configuration and tests aims to:
|
see the [`/configs`](../../configs/README.md#format) documentation.
|
||||||
- Prevent duplication of configuration
|
Config values that are introduced at a later fork may be omitted from tests of previous forks.
|
||||||
- Make all tests easy to upgrade (e.g. when a new config constant is introduced)
|
|
||||||
- Clearly define which constants to use
|
|
||||||
- Be easily shareable between clients, for cross-client short- or long-lived testnets
|
|
||||||
- Minimize the amount of different constants permutations to compile as a client.
|
|
||||||
*Note*: Some clients prefer compile-time constants and optimizations.
|
|
||||||
They should compile for each configuration once, and run the corresponding tests per build target.
|
|
||||||
- Include constants to coordinate forking with
|
|
||||||
|
|
||||||
The format is described in [`/configs`](../../configs/README.md#format).
|
|
||||||
|
|
||||||
|
|
||||||
## Config sourcing
|
## Config sourcing
|
||||||
|
|
Loading…
Reference in New Issue