Commit Graph

123 Commits

Author SHA1 Message Date
Justin Traglia 03655aec93
Make Electra bold 2024-10-09 08:33:19 -05:00
Justin Traglia 8630a44fd4
Delete extra unordered list in capella/deneb/electra 2024-10-09 08:32:26 -05:00
Justin Traglia bf49f53f72
Add electra p2p networking changes to additions 2024-10-09 07:52:48 -05:00
Justin Traglia d1bca1ef42
Change "EIP-6110 fork" to "Electra fork" 2024-10-09 07:49:50 -05:00
Justin Traglia d966188039
Use same table format for stable & in-development specs 2024-10-09 07:47:11 -05:00
Justin Traglia afdf5633fd
Remove "(outdated)" from names 2024-10-09 07:43:13 -05:00
Justin Traglia a5d45778aa
In README, move outdated specs to new section 2024-10-09 07:41:17 -05:00
Justin Traglia 3196f3270f
Add testgen badge to readme (#3933) 2024-09-26 09:35:36 -05:00
Justin Traglia 72e9a319f1
Replace links to eth2.0-specs with consensus-specs (#3934)
* Replace references to eth2.0

* Revert changes to the deposit contract dir
2024-09-26 21:06:47 +08:00
parithosh c22105d5b3
updating readme and dependencies 2024-08-13 12:56:03 +02:00
Etan Kissling 2035a9fcad
Update light client specifications for Electra
Electra introduces two changes that affect light client data handling:

1. The `ExecutionPayloadHeader` is extended with new fields.
   This is handled similarly as before with the Deneb fork.

2. The `BeaconState` generalized indices change due to lack of EIP-6493.
   This is handled by making the generalized index be fork dependent via
   a helper function that computes it dynamically. Furthermore, the case
   where pre-Electra light client data is consumed by an Electra based
   `LightClientStore` requires normalizing the shorter proof of the
   pre-Electra data to fit into the Electra data structure by prepending
   a zero hash.
2024-06-21 11:33:52 +02:00
Hsiao-Wei Wang 82271d1229
EIP6110 meta update 2024-03-06 14:00:55 +08:00
Hsiao-Wei Wang 6ffd27bd60
Rename EIP6110 to Electra 2024-03-06 13:38:49 +08:00
Hsiao-Wei Wang 4878f1da30
Set official mainnet `DENEB_FORK_EPOCH` 2024-02-08 22:34:59 +08:00
Hsiao-Wei Wang b26c2897cd
Add link to Engine APIs 2023-06-06 18:24:36 +08:00
Hsiao-Wei Wang 21d4370fd5
Add docs about how to add a new feature proposal in consensus-specs and online viewer support (#3239)
* Add docs

* update link to template

* Add more info

* Try mkdocs

* Create docs.yml

* Update docs.yml

* update

* update

* update

* Try mkdocs

* Add "B: Make it executable for pytest and test generator" section

* Use mkdocs-material

* Use `mkdocs-awesome-pages-plugin` to create custom specs order

* Add toc permalink

* Update site_url

* Add .pages files for navigations. Update highlight style

* Dark theme

* Fix list indent
2023-04-18 18:31:34 +08:00
Hsiao-Wei Wang 68e7766b08
Remove gitter link 2023-04-04 22:04:48 +08:00
Hsiao-Wei Wang 18eb1fa334
Set `CAPELLA_FORK_EPOCH` to `194048` 2023-03-20 13:48:49 +08:00
Hsiao-Wei Wang c48012f674
Add EIP-6110 to README table 2023-03-16 08:34:44 +08:00
Hsiao-Wei Wang 95720872e6
Update README.md 2023-02-14 23:53:23 +08:00
Paul Harris 078e1cc871 fix references to eip4844 2023-02-08 09:22:28 +10:00
Paul Harris 317facbd64 Replaced EIP4844 references with Deneb
Fixes #3207
2023-01-23 15:08:34 +01:00
Etan Kissling 53a95f0007
Merge branch 'dev' into lc-eph 2023-01-10 13:43:15 +01:00
Hsiao-Wei Wang 5ff877cc26
Add link to docs lookup table 2023-01-04 18:24:19 +08:00
Etan Kissling 8ad6810a44
EIP4844 support (`excess_data_gas`), fork tests nyi 2022-12-12 13:11:49 +01:00
Etan Kissling d6da56cc19
Remove double mention of validator changes in readme 2022-12-12 12:37:57 +01:00
Etan Kissling 2df8a559b8
Fix LC references in main readme 2022-12-12 12:19:46 +01:00
Etan Kissling 2e97af2627
Add `ExecutionPayloadHeader` to LC data
While the light client sync protocol currently provides access to the
latest `BeaconBlockHeader`, obtaining the matching execution data needs
workarounds such as downloading the full block.

Having ready access to the EL state root simplifies use cases that need
a way to cross-check `eth_getProof` responses against LC data.

Access to `block_hash` unlocks scenarios where a CL light client drives
an EL without `engine_newPayload`. As of Altair, only the CL beacon
block root is available, but the EL block hash is needed for engine API.

Other fields in the `ExecutionPayloadHeader` such as `logs_bloom` may
allow light client applications to monitor blocks for local interest,
e.g. for transfers affecting a certain wallet. This enables to download
only the few relevant blocks instead of every single one.

A new `LightClientStore` is proposed into the Capella spec that may be
used to sync LC data that includes execution data. Existing pre-Capella
LC data will remain as is, but can be locally upgraded before feeding it
into the new `LightClientStore` so that light clients do not need to run
a potentially expensive fork transition at a specific time. This enables
the `LightClientStore` to be upgraded at a use case dependent timing at
any time before Capella hits. Smart contract and embedded deployments
benefit from reduced code size and do not need synchronization with the
beacon chain clock to perform the Capella fork.
2022-12-12 00:48:40 +01:00
Potuz b5a0ff07e0 Add link to Capella's P2P doc 2022-11-24 10:29:46 -03:00
Alex Stokes 8788472679
Update README.md 2022-11-02 13:26:59 -06:00
Manu NALEPA e453bfe018
README.md: Fix broken links 2022-10-29 20:15:24 +02:00
0xYYY cadb94aaaf Update Bellatrix fork epoch in README 2022-08-17 22:46:47 +08:00
Etan Kissling 56363cd94a
Define libp2p protocol for light client sync
While the current Altair specs define structures to aid light client
development, one missing key aspect is the network protocol definition.

Certain implementations have started defining their own REST based APIs,
e.g., Lodestar at https://github.com/ChainSafe/lodestar/blob/master/packages/api/src/routes/lightclient.ts
While such APIs are useful, REST does not seem to be the ideomatic
choice as the sole API available at such a low level for Ethereum.

This patch introduces a libp2p based protocol to allow light clients to
sync to the latest `BeaconBlockHeader` in a trustless and decentralized
manner, building on top of prior work from:
- @hwwhww at https://github.com/ethereum/consensus-specs/pull/2267
- @jinfwhuang at https://github.com/ethereum/consensus-specs/pull/2786
- Lodestar's REST API (also has an endpoint to fetch merkle proofs!)
2022-07-22 17:56:41 +02:00
Etan Kissling 78d336e28d
Describe light client sync process
Provides documentation about the process that a light client may use to
sync a local `LightClientStore`.
2022-07-22 17:12:57 +02:00
Hsiao-Wei Wang 1d2ef9f8cb
Merge pull request #2938 from etan-status/lc-testsuite
Add functions for deriving light client data
2022-07-20 14:47:05 +08:00
Hsiao-Wei Wang 3d28b37831 Add `polynomial-commitments.md` to README 2022-07-19 08:10:25 -06:00
Etan Kissling 88206117c6
Extract full node specifics to separate doc 2022-07-15 13:37:27 +02:00
Etan Kissling d06f44ef55
Move `sync-protocol.md` into `light-client` subdir 2022-07-15 13:22:14 +02:00
Hsiao-Wei Wang dde1313a9d
Add Fork Epoch column 2022-06-06 16:03:46 +08:00
Hsiao-Wei Wang df1464728b
Remove fork version and previous fork. Add seq. 2022-06-02 22:14:39 +08:00
Hsiao-Wei Wang 986f7ee34c
Use table to list the specs. Add `Capella` and `EIP4844` to README 2022-06-01 02:41:18 +08:00
terence tsao 7e2461e805
Remove client setting 2022-01-11 20:34:06 -08:00
Paul Hauner fe605894e8
Update README.md 2022-01-10 17:07:13 +11:00
Hsiao-Wei Wang 3970fa7a75
PR feedback from @ralexstokes 2021-12-24 01:38:33 +08:00
Hsiao-Wei Wang 41af639517
PR feedback from @mkalinin 2021-12-23 17:26:48 +08:00
Hsiao-Wei Wang 8facc0a095
Merge -> Bellatrix 2021-12-23 14:25:43 +08:00
Paul Hauner da7b3cef8f
Add "P2P Networking" to "Merge" section 2021-09-28 09:15:59 +10:00
ethDreamer 1f486c1b32
fixed client-settings.md link 2021-09-15 18:47:44 -05:00
lsankar4033 49d225bb78 Add new --terminal-total-difficulty-override client_setting 2021-09-08 12:34:33 -07:00
Danny Ryan a542fd3a8a
modify README for consensus-specs renaming 2021-08-18 08:45:23 -06:00