Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
5653649
Allow light client to verify signatures at period boundary
etan-status Apr 26, 2022
895cce5
bump version.txt
djrtwo May 23, 2022
f74f3c3
Merge pull request #2899 from ethereum/djrtwo-patch-1
djrtwo May 23, 2022
a3128b8
EIP-4844: fix a typo (#2898)
Inphi May 31, 2022
986f7ee
Use table to list the specs. Add `Capella` and `EIP4844` to README
hwwhww May 31, 2022
0d305f0
Update README.md
ralexstokes Jun 2, 2022
df14647
Remove fork version and previous fork. Add seq.
hwwhww Jun 2, 2022
2e98022
Merge pull request #2904 from ethereum/ralexstokes-patch-1
djrtwo Jun 3, 2022
dde1313
Add Fork Epoch column
hwwhww Jun 6, 2022
c165d31
Remove `@disable_process_reveal_deadlines`
hwwhww Jun 6, 2022
a1b4f1d
Merge pull request #2907 from ethereum/de-disable_process_reveal_dead…
djrtwo Jun 6, 2022
1113aa6
Merge pull request #2903 from ethereum/readme-table
djrtwo Jun 6, 2022
74489d5
Partial withdrawals (#2862)
djrtwo Jun 8, 2022
dbac7b1
EIP-4844: Remove shard field from BlobsSidecar
Inphi Jun 13, 2022
3dbbeb9
Merge pull request #2914 from Inphi/inphi/eip4844
protolambda Jun 14, 2022
e4c75d6
Introduce high-level logic of new efficient block validation
asn-d6 Jun 13, 2022
4be0b9d
Add needed math/crypto functions to validate KZG aggregated proofs
asn-d6 Jun 13, 2022
8cc008d
Merge pull request #2805 from etan-status/lc-period
hwwhww Jun 16, 2022
0b8ab23
Remove `fork_version` from `LightClientUpdate`
etan-status Apr 27, 2022
8a70295
Fix ToC
hwwhww Jun 20, 2022
534a9d1
Move EIP-4844 cryptography code to its own file
asn-d6 Jun 22, 2022
e7e5207
Use Python's pow() in bls_modular_inverse().
asn-d6 Jun 22, 2022
0ab280d
minor suggestions
hwwhww Jun 23, 2022
94da861
Fix ToC
hwwhww Jun 23, 2022
840733f
Move `compute_fork_version` to `fork.md`
etan-status Jun 23, 2022
86e2f8f
Fix name discrepancy
marioevz Jun 23, 2022
245ac6c
Merge pull request #2921 from marioevz/field-rename
ralexstokes Jun 23, 2022
9a253e4
create decorator for tests with matching config
etan-status Jun 23, 2022
a3339c7
PR suggestion from @Inphi
hwwhww Jun 24, 2022
d4a2bdc
Merge pull request #2915 from asn-d6/consensus-4844-proofs-optimization
hwwhww Jun 26, 2022
a40a644
Merge pull request #2916 from etan-status/lc-forkversion
hwwhww Jun 27, 2022
c10daf1
Allow `LightClientUpdate` with genesis finality
etan-status May 9, 2022
67d6202
fix typo and specify something
fradamt Jun 27, 2022
0ba5b3b
Merge pull request #2925 from fradamt/patch-3
hwwhww Jun 27, 2022
99e3032
Switch condition order for readability
etan-status Jun 27, 2022
65cfede
Update finality update documentation
etan-status Jun 27, 2022
f810b67
Merge pull request #2924 from etan-status/lc-genesis
hwwhww Jun 29, 2022
f5f3031
Allow passing redundant `next_sync_committee`
etan-status Apr 27, 2022
2dd9a52
remove data logging from BLS test gen
ralexstokes Jun 29, 2022
529ce30
write test generator diagnostics to a summary file
ralexstokes Jun 27, 2022
abcacca
Merge pull request #2927 from etan-status/lc-redundantnext
hwwhww Jun 30, 2022
e269b30
Cleanup light client tests
etan-status May 2, 2022
d2a1f57
Merge pull request #2928 from ralexstokes/test-gen-patch-up
hwwhww Jun 30, 2022
4b5a4ad
Include Bellatrix p2p interface specs into pyspec
hwwhww Jun 30, 2022
e9bc03a
Merge pull request #2930 from ethereum/bellatrix-p2p-pyspec
hwwhww Jul 1, 2022
bfa048a
Merge pull request #2929 from etan-status/lc-testterms
hwwhww Jul 1, 2022
c4dbd24
Root `next_sync_committee` in `attested_header`
etan-status Apr 29, 2022
55202a4
Use the correct `TEST_REPORT_DIR`
hwwhww Jul 4, 2022
4c54bdd
Merge pull request #2933 from ethereum/fix-test-reports-dir
ralexstokes Jul 6, 2022
c67ad59
Reorder helpers to group ones operating on updates
etan-status Jul 9, 2022
aa8caee
Add `compute_sync_committee_period_at_slot`
etan-status Jul 9, 2022
35f5010
More concise finality ranking
etan-status Jul 9, 2022
fa85648
`==` on new line
etan-status Jul 9, 2022
33f572c
More concise sync committee finality ranking
etan-status Jul 9, 2022
2ddb383
Extend documentation for forced updates
etan-status Jul 9, 2022
b7a0e53
Prefix update `period` variables
etan-status Jul 11, 2022
739587b
Merge pull request #2932 from etan-status/lc-attestedroot
hwwhww Jul 12, 2022
654970c
Add `LightClientBootstrap`
etan-status May 2, 2022
6048f1a
More concise finality ranking
etan-status Jul 12, 2022
221f368
EIP-4844: Improve the cryptographic parts of the spec
asn-d6 Jul 13, 2022
5b9bf41
EIP-4844: Further improvements on the spec
asn-d6 Jul 13, 2022
567a25f
EIP-4844: Make the spec executable
asn-d6 Jul 13, 2022
2558282
EIP-4844: Introduce KZG and blob verification unittests
asn-d6 Jul 13, 2022
66325d0
Use helper variables to make ifs more readable
etan-status Jul 13, 2022
3b6222d
Merge pull request #2935 from etan-status/lc-bootstrap
hwwhww Jul 14, 2022
86fe93c
Add functions for deriving light client data
etan-status May 2, 2022
95c0757
Hide `build_proof` and `get_backing` from spec
etan-status Jul 15, 2022
dbefbcf
Explicitly mention optional `finalized_block`
etan-status Jul 15, 2022
6146f01
Flip order of `assert` and assignment
etan-status Jul 15, 2022
88a6951
`finalize_test` --> `finish_test`
etan-status Jul 15, 2022
73279f8
Explain why the tests check for Altair twice
etan-status Jul 15, 2022
3c5d347
Emit checks after each individual test step
etan-status Jul 15, 2022
d06f44e
Move `sync-protocol.md` into `light-client` subdir
etan-status Jul 15, 2022
8820611
Extract full node specifics to separate doc
etan-status Jul 15, 2022
de15971
Cleanups
etan-status Jul 15, 2022
a126f22
Sync tocs
etan-status Jul 15, 2022
e75e35f
Update `make check_toc` list
etan-status Jul 15, 2022
c6cd35a
Tabs --> Spaces
etan-status Jul 15, 2022
9c79880
Fix genesis testing tool and add Capella version `initialize_beacon_s…
hwwhww Jul 15, 2022
d49c98c
Merge pull request #2926 from ralexstokes/spec-diagnostis
djrtwo Jul 15, 2022
a205e93
Make block proposal direction more clear
hwwhww Jul 15, 2022
4176781
PR feedback from @djrtwo
hwwhww Jul 15, 2022
808f9c7
Use `validate_*` for the valdiation functions that return `None`
hwwhww Jul 15, 2022
400e1e5
Fix EIP4844 `create_genesis_state`, `EIP4844_FORK_VERSION`, and `conf…
hwwhww Jul 15, 2022
ec980da
Rework `blobs_sidecar` propagation guide
hwwhww Jul 15, 2022
5356fee
Fix `test_override_config_fork_epoch`
hwwhww Jul 15, 2022
185f51e
Merge branch 'dev' into pr2937
hwwhww Jul 15, 2022
ec7c7c8
Remove leftover print
hwwhww Jul 15, 2022
30d6352
Move test files to `light_client` subdir
etan-status Jul 15, 2022
9d41c23
Align format of override `config.yaml` with base cfg
etan-status Jul 15, 2022
63816de
Merge commit '9c798806355f67a32704a8cd5a98d90deccb8f69' into lc-tests…
etan-status Jul 15, 2022
261c531
Remove genesis check now that Capella is fixed
etan-status Jul 15, 2022
9e4f386
Merge pull request #2937 from asn-d6/eip4844-exe-squashed-and-rebased
asn-d6 Jul 16, 2022
c9f0927
Merge branch 'dev' into lc-testsuite
etan-status Jul 17, 2022
647e9d0
PR feedback from @ralexstokes
hwwhww Jul 18, 2022
a1546fd
Merge branch 'dev' into fix-capella-genesis
hwwhww Jul 18, 2022
fed037f
Merge pull request #2940 from ethereum/fix-capella-genesis
djrtwo Jul 18, 2022
0941114
Merge branch 'dev' into lc-testsuite
etan-status Jul 18, 2022
02a2b71
WIP implementation of Danksharding (#2792)
dankrad Jul 18, 2022
3d28b37
Add `polynomial-commitments.md` to README
hwwhww Jul 19, 2022
0f31fcd
[Refactor] remove useless `spec` param from `compute_committee_indices`
hwwhww Jul 19, 2022
2b4613e
Merge pull request #2943 from ethereum/compute_committee_indices
ralexstokes Jul 19, 2022
1d2ef9f
Merge pull request #2938 from etan-status/lc-testsuite
hwwhww Jul 20, 2022
06d9fd8
Add `LightClient(Finality|Optimistic)Update`
etan-status May 3, 2022
95019bb
Improve readability of intro text
etan-status Jul 20, 2022
9016b92
Fix Polynomial container size
Inphi Jul 21, 2022
78b035a
Merge pull request #2944 from etan-status/lc-reducedupdates
hwwhww Jul 21, 2022
f9d866e
Manually trigger `LightClientStore` force updates
etan-status May 3, 2022
b2c647f
Remove triple m
mdehoog Jul 21, 2022
4370f30
Merge pull request #2948 from mdehoog/spelling
ralexstokes Jul 21, 2022
8643e28
`try_...` --> `process_...`
etan-status Jul 22, 2022
d717f7e
Merge pull request #2947 from etan-status/lc-forceupdate
hwwhww Jul 22, 2022
0e82acf
Merge pull request #2945 from Inphi/eip4844-nit
hwwhww Jul 22, 2022
176a5d2
Move `merkle/single_proof` tests to `light_client/single_merkle_proof`
hwwhww Jul 22, 2022
78d336e
Describe light client sync process
etan-status May 3, 2022
8ced2c3
Remove newlines between items for visual consistency
etan-status Jul 22, 2022
6657c22
Merge pull request #2951 from etan-status/lc-clientprocess
hwwhww Jul 22, 2022
56363cd
Define libp2p protocol for light client sync
etan-status May 3, 2022
7e54cd0
Update README.md
ralexstokes Jul 22, 2022
d89c9d1
Merge pull request #2952 from ethereum/ralexstokes-patch-1
hwwhww Jul 23, 2022
52a741f
Improve grammar
etan-status Jul 25, 2022
0e358fc
Merge pull request #2802 from etan-status/lc-libp2p
hwwhww Jul 26, 2022
981b05a
Merge pull request #2950 from ethereum/mv-merkle-tests
djrtwo Jul 26, 2022
2c32fa6
Do not overload index with WithdrawalIndex and ValidatorIndex
potuz Jul 26, 2022
4893f9e
Handling `latestValidHash` in opti-sync
mkalinin Jul 27, 2022
e989ca2
Add ToC
hwwhww Jul 27, 2022
a60d0a5
Merge pull request #2956 from ethereum/opti-sync-toc
hwwhww Jul 28, 2022
29b3afe
Elaborate on why sync optimistically
mkalinin Jul 28, 2022
c51e67a
fixed typo in on_block() definition
infosecual Jul 29, 2022
28141e7
Merge pull request #2959 from infosecual/on-block-typo-fix
hwwhww Jul 29, 2022
47ee430
Apply suggestions from code review
mkalinin Jul 29, 2022
fb71509
Merge pull request #2953 from potuz/overloaded-index
djrtwo Aug 1, 2022
8d70a73
Apply suggestions from code review
djrtwo Aug 1, 2022
7e36024
more execution payload tests and cleanup old ones
djrtwo Aug 1, 2022
a3b7c6c
Apply suggestions from code review
mkalinin Aug 2, 2022
b9476bf
Expand on opti-sync in context of block sync
mkalinin Aug 2, 2022
3985276
Merge pull request #2954 from ethereum/mkalinin-patch-2
mkalinin Aug 3, 2022
3d785da
pr feedback from @hwwhww
djrtwo Aug 3, 2022
18dc61f
Merge pull request #2961 from ethereum/execution_payload_tests
djrtwo Aug 4, 2022
9352f12
minor typo
djrtwo Aug 9, 2022
d262327
Merge branch 'dev' into mkalinin-patch-4
hwwhww Aug 9, 2022
f92312c
Update ToC
hwwhww Aug 9, 2022
c04f221
Merge pull request #2958 from ethereum/mkalinin-patch-4
djrtwo Aug 9, 2022
ccc40e1
a few more bellatrix tests (#2962)
djrtwo Aug 15, 2022
5d0f4af
Merge mainnet ttd and bellatrix values (#2969)
djrtwo Aug 15, 2022
1d0dce7
Opti-sync: extend optimistic node definition (#2955)
mkalinin Aug 15, 2022
91b584e
bump VERSION.txt (#2971)
djrtwo Aug 15, 2022
d95c455
Fix path: the bellatrix-new tests have been moved to altair file
hwwhww Aug 16, 2022
64b3321
Merge pull request #2972 from ethereum/transition-testgen-fix
djrtwo Aug 16, 2022
ff6181f
Merge branch 'master' into dev
djrtwo Aug 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,19 @@ jobs:
command: make citest fork=capella
- store_test_results:
path: tests/core/pyspec/test-reports

test-eip4844:
docker:
- image: circleci/python:3.8
working_directory: ~/specs-repo
steps:
- restore_cache:
key: v3-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_pyspec_cached_venv
- run:
name: Run py-tests
command: make citest fork=eip4844
- store_test_results:
path: tests/core/pyspec/test-reports
table_of_contents:
docker:
- image: circleci/node:10.16.3
Expand Down Expand Up @@ -260,6 +272,9 @@ workflows:
- test-capella:
requires:
- install_pyspec_test
- test-eip4844:
requires:
- install_pyspec_test
- table_of_contents
- codespell
- lint:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ tests/core/pyspec/eth2spec/phase0/
tests/core/pyspec/eth2spec/altair/
tests/core/pyspec/eth2spec/bellatrix/
tests/core/pyspec/eth2spec/capella/
tests/core/pyspec/eth2spec/eip4844/

# coverage reports
.htmlcov
Expand Down
14 changes: 8 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@ GENERATOR_VENVS = $(patsubst $(GENERATOR_DIR)/%, $(GENERATOR_DIR)/%venv, $(GENER
# To check generator matching:
#$(info $$GENERATOR_TARGETS is [${GENERATOR_TARGETS}])

MARKDOWN_FILES = $(wildcard $(SPEC_DIR)/phase0/*.md) $(wildcard $(SPEC_DIR)/altair/*.md) $(wildcard $(SSZ_DIR)/*.md) \
MARKDOWN_FILES = $(wildcard $(SPEC_DIR)/phase0/*.md) \
$(wildcard $(SPEC_DIR)/altair/*.md) $(wildcard $(SPEC_DIR)/altair/**/*.md) \
$(wildcard $(SPEC_DIR)/bellatrix/*.md) \
$(wildcard $(SPEC_DIR)/capella/*.md) \
$(wildcard $(SPEC_DIR)/custody/*.md) \
$(wildcard $(SPEC_DIR)/das/*.md) \
$(wildcard $(SPEC_DIR)/sharding/*.md) \
$(wildcard $(SPEC_DIR)/eip4844/*.md)
$(wildcard $(SPEC_DIR)/eip4844/*.md) \
$(wildcard $(SSZ_DIR)/*.md)

COV_HTML_OUT=.htmlcov
COV_HTML_OUT_DIR=$(PY_SPEC_DIR)/$(COV_HTML_OUT)
Expand Down Expand Up @@ -107,13 +109,13 @@ find_test: pyspec
python3 -m pytest -k=$(K) --disable-bls --cov=eth2spec.phase0.minimal --cov=eth2spec.altair.minimal --cov=eth2spec.bellatrix.minimal --cov=eth2spec.capella.minimal --cov-report="html:$(COV_HTML_OUT)" --cov-branch eth2spec

citest: pyspec
mkdir -p tests/core/pyspec/test-reports/eth2spec;
mkdir -p $(TEST_REPORT_DIR);
ifdef fork
. venv/bin/activate; cd $(PY_SPEC_DIR); \
python3 -m pytest -n 4 --bls-type=milagro --fork=$(fork) --junitxml=eth2spec/test_results.xml eth2spec
python3 -m pytest -n 4 --bls-type=milagro --fork=$(fork) --junitxml=test-reports/test_results.xml eth2spec
else
. venv/bin/activate; cd $(PY_SPEC_DIR); \
python3 -m pytest -n 4 --bls-type=milagro --junitxml=eth2spec/test_results.xml eth2spec
python3 -m pytest -n 4 --bls-type=milagro --junitxml=test-reports/test_results.xml eth2spec
endif


Expand All @@ -136,7 +138,7 @@ codespell:
lint: pyspec
. venv/bin/activate; cd $(PY_SPEC_DIR); \
flake8 --config $(LINTER_CONFIG_FILE) ./eth2spec \
&& pylint --disable=all --enable unused-argument ./eth2spec/phase0 ./eth2spec/altair ./eth2spec/bellatrix \
&& pylint --disable=all --enable unused-argument ./eth2spec/phase0 ./eth2spec/altair ./eth2spec/bellatrix ./eth2spec/capella \
&& mypy --config-file $(LINTER_CONFIG_FILE) -p eth2spec.phase0 -p eth2spec.altair -p eth2spec.bellatrix -p eth2spec.capella

lint_generators: pyspec
Expand Down
66 changes: 16 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,63 +6,29 @@ To learn more about proof-of-stake and sharding, see the [PoS FAQ](https://eth.w

This repository hosts the current Ethereum proof-of-stake specifications. Discussions about design rationale and proposed changes can be brought up and discussed as issues. Solidified, agreed-upon changes to the spec can be made through pull requests.


## Specs

[![GitHub release](https://img.shields.io/github/v/release/ethereum/eth2.0-specs)](https://github.com/ethereum/eth2.0-specs/releases/) [![PyPI version](https://badge.fury.io/py/eth2spec.svg)](https://badge.fury.io/py/eth2spec)

Core specifications for Ethereum proof-of-stake clients can be found in [specs](specs/). These are divided into features.
Features are researched and developed in parallel, and then consolidated into sequential upgrades when ready.

The current features are:

### Phase 0

* [The Beacon Chain](specs/phase0/beacon-chain.md)
* [Beacon Chain Fork Choice](specs/phase0/fork-choice.md)
* [Deposit Contract](specs/phase0/deposit-contract.md)
* [Honest Validator](specs/phase0/validator.md)
* [P2P Networking](specs/phase0/p2p-interface.md)
* [Weak Subjectivity](specs/phase0/weak-subjectivity.md)

### Altair

* [Beacon chain changes](specs/altair/beacon-chain.md)
* [Altair fork](specs/altair/fork.md)
* [Light client sync protocol](specs/altair/sync-protocol.md)
* [Honest Validator guide changes](specs/altair/validator.md)
* [P2P Networking](specs/altair/p2p-interface.md)

### Bellatrix (also known as The Merge)

The Bellatrix protocol upgrade is still actively in development. The exact specification has not been formally accepted as final and details are still subject to change.

* Background material:
* An [ethresear.ch](https://ethresear.ch) post [describing the basic mechanism of the CL+EL merge](https://ethresear.ch/t/the-eth1-eth2-transition/6265)
* [ethereum.org](https://ethereum.org) high-level description of the CL+EL merge [here](https://ethereum.org/en/eth2/docking/)
* Specifications:
* [Beacon Chain changes](specs/bellatrix/beacon-chain.md)
* [Bellatrix fork](specs/bellatrix/fork.md)
* [Fork Choice changes](specs/bellatrix/fork-choice.md)
* [Validator additions](specs/bellatrix/validator.md)
* [P2P Networking](specs/bellatrix/p2p-interface.md)

### Sharding

Sharding follows Bellatrix, and is divided into three parts:

* Sharding base functionality - In early engineering phase
* [Beacon Chain changes](specs/sharding/beacon-chain.md)
* [P2P Network changes](specs/sharding/p2p-interface.md)
* Custody Game - Ready, dependent on sharding
* [Beacon Chain changes](specs/custody_game/beacon-chain.md)
* [Validator custody work](specs/custody_game/validator.md)
* Data Availability Sampling - In active R&D
* Technical details [here](https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/B1YJPGkpD).
* [Core types and functions](specs/das/das-core.md)
* [P2P Networking](specs/das/p2p-interface.md)
* [Fork Choice](specs/das/fork-choice.md)
* [Sampling process](specs/das/sampling.md)
### Stable Specifications

| Seq. | Code Name | Fork Epoch | Specs |
| - | - | - | - |
| 0 | **Phase0** |`0` | <ul><li>Core</li><ul><li>[The beacon chain](specs/phase0/beacon-chain.md)</li><li>[Deposit contract](specs/phase0/deposit-contract.md)</li><li>[Beacon chain fork choice](specs/phase0/fork-choice.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide](specs/phase0/validator.md)</li><li>[P2P networking](specs/phase0/p2p-interface.md)</li><li>[Weak subjectivity](specs/phase0/weak-subjectivity.md)</li></ul></ul> |
| 1 | **Altair** | `74240` | <ul><li>Core</li><ul><li>[Beacon chain changes](specs/altair/beacon-chain.md)</li><li>[Altair fork](specs/altair/fork.md)</li></ul><li>Additions</li><ul><li>[Light client sync protocol](specs/altair/light-client/sync-protocol.md) ([full node](specs/altair/light-client/full-node.md), [light client](specs/altair/light-client/light-client.md), [networking](specs/altair/light-client/p2p-interface.md))</li><li>[Honest validator guide changes](specs/altair/validator.md)</li><li>[P2P networking](specs/altair/p2p-interface.md)</li></ul></ul> |
| 2 | **Bellatrix** <br/> (["The Merge"](https://ethereum.org/en/upgrades/merge/)) | TBD | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/bellatrix/beacon-chain.md)</li><li>[Bellatrix fork](specs/bellatrix/fork.md)</li><li>[Fork choice changes](specs/bellatrix/fork-choice.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/bellatrix/validator.md)</li><li>[P2P networking](specs/bellatrix/p2p-interface.md)</li></ul></ul> |

### In-development Specifications
| Code Name or Topic | Specs | Notes |
| - | - | - |
| Capella (tentative) | <ul><li>Core</li><ul><li>[Beacon chain changes](specs/capella/beacon-chain.md)</li><li>[Capella fork](specs/capella/fork.md)</li></ul><li>Additions</li><ul><li>[Validator additions](specs/capella/validator.md)</li></ul></ul> |
| EIP4844 (tentative) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/eip4844/beacon-chain.md)</li><li>[EIP-4844 fork](specs/eip4844/fork.md)</li><li>[Polynomial commitments](specs/eip4844/polynomial-commitments.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/eip4844/validator.md)</li><li>[P2P networking](specs/eip4844/p2p-interface.md)</li></ul></ul> |
| Sharding (outdated) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/sharding/beacon-chain.md)</li></ul><li>Additions</li><ul><li>[P2P networking](specs/sharding/p2p-interface.md)</li></ul></ul> |
| Custody Game (outdated) | <ul><li>Core</li><ul><li>[Beacon Chain changes](specs/custody_game/beacon-chain.md)</li></ul><li>Additions</li><ul><li>[Honest validator guide changes](specs/custody_game/validator.md)</li></ul></ul> | Dependent on sharding |
| Data Availability Sampling (outdated) | <ul><li>Core</li><ul><li>[Core types and functions](specs/das/das-core.md)</li><li>[Fork choice changes](specs/das/fork-choice.md)</li></ul><li>Additions</li><ul><li>[P2P Networking](specs/das/p2p-interface.md)</li><li>[Sampling process](specs/das/sampling.md)</li></ul></ul> | <ul><li> Dependent on sharding</li><li>[Technical explainer](https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/B1YJPGkpD)</li></ul> |

### Accompanying documents can be found in [specs](specs) and include:

Expand Down
12 changes: 6 additions & 6 deletions configs/mainnet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ CONFIG_NAME: 'mainnet'

# Transition
# ---------------------------------------------------------------
# TBD, 2**256-2**10 is a placeholder
TERMINAL_TOTAL_DIFFICULTY: 115792089237316195423570985008687907853269984665640564039457584007913129638912
# Estimated on Sept 15, 2022
TERMINAL_TOTAL_DIFFICULTY: 58750000000000000000000
# By default, don't use these params
TERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: 18446744073709551615
Expand Down Expand Up @@ -43,13 +43,13 @@ ALTAIR_FORK_VERSION: 0x01000000
ALTAIR_FORK_EPOCH: 74240 # Oct 27, 2021, 10:56:23am UTC
# Bellatrix
BELLATRIX_FORK_VERSION: 0x02000000
BELLATRIX_FORK_EPOCH: 18446744073709551615
BELLATRIX_FORK_EPOCH: 144896 # Sept 6, 2022, 11:34:47am UTC
# Capella
CAPELLA_FORK_VERSION: 0x03000000
CAPELLA_FORK_EPOCH: 18446744073709551615
# Sharding
SHARDING_FORK_VERSION: 0x04000000
SHARDING_FORK_EPOCH: 18446744073709551615
# EIP4844
EIP4844_FORK_VERSION: 0x04000000
EIP4844_FORK_EPOCH: 18446744073709551615



Expand Down
8 changes: 4 additions & 4 deletions configs/minimal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ CONFIG_NAME: 'minimal'

# Transition
# ---------------------------------------------------------------
# TBD, 2**256-2**10 is a placeholder
# 2**256-2**10 for testing minimal network
TERMINAL_TOTAL_DIFFICULTY: 115792089237316195423570985008687907853269984665640564039457584007913129638912
# By default, don't use these params
TERMINAL_BLOCK_HASH: 0x0000000000000000000000000000000000000000000000000000000000000000
Expand Down Expand Up @@ -46,9 +46,9 @@ BELLATRIX_FORK_EPOCH: 18446744073709551615
# Capella
CAPELLA_FORK_VERSION: 0x03000001
CAPELLA_FORK_EPOCH: 18446744073709551615
# Sharding
SHARDING_FORK_VERSION: 0x04000001
SHARDING_FORK_EPOCH: 18446744073709551615
# EIP4844
EIP4844_FORK_VERSION: 0x04000001
EIP4844_FORK_EPOCH: 18446744073709551615


# Time parameters
Expand Down
25 changes: 24 additions & 1 deletion presets/mainnet/capella.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,24 @@
# Minimal preset - Capella
# Mainnet preset - Capella

# Misc
# ---------------------------------------------------------------
# 2**8 (= 256) withdrawals
MAX_PARTIAL_WITHDRAWALS_PER_EPOCH: 256


# State list lengths
# ---------------------------------------------------------------
# 2**40 (= 1,099,511,627,776) withdrawals
WITHDRAWAL_QUEUE_LIMIT: 1099511627776


# Max operations per block
# ---------------------------------------------------------------
# 2**4 (= 16)
MAX_BLS_TO_EXECUTION_CHANGES: 16


# Execution
# ---------------------------------------------------------------
# 2**4 (= 16) withdrawals
MAX_WITHDRAWALS_PER_PAYLOAD: 16
8 changes: 8 additions & 0 deletions presets/mainnet/eip4844.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Mainnet preset - Phase0

# Misc
# ---------------------------------------------------------------
# `uint64(4096)`
FIELD_ELEMENTS_PER_BLOB: 4096
# `uint64(2**4)` (= 16)
MAX_BLOBS_PER_BLOCK: 16
23 changes: 23 additions & 0 deletions presets/minimal/capella.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,24 @@
# Minimal preset - Capella

# Misc
# ---------------------------------------------------------------
# [customized] 16 for more interesting tests at low validator count
MAX_PARTIAL_WITHDRAWALS_PER_EPOCH: 16


# State list lengths
# ---------------------------------------------------------------
# 2**40 (= 1,099,511,627,776) withdrawals
WITHDRAWAL_QUEUE_LIMIT: 1099511627776


# Max operations per block
# ---------------------------------------------------------------
# 2**4 (= 16)
MAX_BLS_TO_EXECUTION_CHANGES: 16


# Execution
# ---------------------------------------------------------------
# [customized] Lower than MAX_PARTIAL_WITHDRAWALS_PER_EPOCH so not all processed in one block
MAX_WITHDRAWALS_PER_PAYLOAD: 16
8 changes: 8 additions & 0 deletions presets/minimal/eip4844.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Minimal preset - Phase0

# Misc
# ---------------------------------------------------------------
# [customized]
FIELD_ELEMENTS_PER_BLOB: 4
# `uint64(2**4)` (= 16)
MAX_BLOBS_PER_BLOCK: 16
Loading