eth2.0-specs/tests/formats/genesis/initialization.md

43 lines
1.1 KiB
Markdown
Raw Normal View History

# Genesis creation testing
Tests the initialization of a genesis state based on Eth1 data.
## Test case format
2020-10-08 19:02:18 +00:00
### `eth1_block_hash.ssz_snappy`
2021-03-13 04:42:51 +00:00
An SSZ-snappy encoded root of the Eth1 block.
### `eth1_timestamp.yaml`
An integer. The timestamp of the block, in seconds.
### `meta.yaml`
A yaml file to help read the deposit count:
2019-07-30 13:06:15 +00:00
```yaml
2021-03-15 16:38:30 +00:00
description: string -- Optional. Description of test case, purely for debugging purposes.
deposits_count: int -- Amount of deposits.
```
2020-10-08 19:02:18 +00:00
### `deposits_<index>.ssz_snappy`
2019-07-30 13:06:15 +00:00
A series of files, with `<index>` in range `[0, deposits_count)`. Deposits need to be processed in order.
2020-10-08 19:02:18 +00:00
Each file is a SSZ-snappy encoded `Deposit` object.
2020-10-08 19:02:18 +00:00
### `state.ssz_snappy`
2021-03-13 04:42:51 +00:00
The expected genesis state. An SSZ-snappy encoded `BeaconState` object.
## Processing
To process this test, build a genesis state with the provided `eth1_block_hash`, `eth1_timestamp` and `deposits`:
`initialize_beacon_state_from_eth1(eth1_block_hash, eth1_timestamp, deposits)`,
as described in the Beacon Chain specification.
## Condition
The resulting state should match the expected `state`.