Commit Graph

64 Commits

Author SHA1 Message Date
Andrew Ashikhmin
4abc6cd119
Schedule Dencun for Sepolia & Holešky (#9255)
See https://github.com/ethereum/EIPs/pull/8051 &
https://github.com/ethereum/execution-specs/pull/860
2024-01-18 09:27:03 +01:00
Bayram Guvanjov
a191296f05
Deneb integration to Caplin (#9093)
Pr is ready to review and merge. 

This PR includes implementing and integrating Ethereum Deneb's hard work
with the Caplin Ethereum client.

Changes:

- Full compatibility with Deneb Ethereum hard fork
- Added new EIPs introduced in Deneb. (`EIP-4788`, `EIP-4844`,
`EIP-7044`, `EIP-7045`, `EIP-7514`)
- Tests integration

---------

Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2024-01-12 14:20:26 +01:00
Andrew Ashikhmin
09ec1f160c
Fix DenebForkEpoch for Chiado (#9188)
In PR #9184 I confused slot with epoch. Refer to
https://github.com/gnosischain/configs/pull/26.
2024-01-10 16:13:15 +01:00
Andrew Ashikhmin
8db023bea6
Schedule Dencun for Chiado (#9184) 2024-01-09 20:57:02 +01:00
Andrew Ashikhmin
391b267552
Schedule Dencun for Görli (#9116)
See https://github.com/ethereum/EIPs/pull/8051 &
https://github.com/ethereum/execution-specs/pull/860
2024-01-03 15:49:10 +01:00
Giulio rebuffo
ffc26b0f00
Added GET SyncCommittees (#9003) 2023-12-18 13:54:15 +01:00
Giulio rebuffo
4e83ef0ef5
Optimized beacon state retrieval (#8963)
* Reconstruct previous epoch without looking at DB: no hindrance to
performance -> removed 15GB
* Store inactivity scores and slashings in MDBX and do not store diffs
for them(they are tiny 700/400 bytes)
* Reduced dumps from every 2048 to 1024 -> Added 5 GB (maybe we should
down it to 768)
* Parallel processing of shuffled sets, 2x performance boost in reading
participation.
* Store balances diffs in a Btree diff matter, see:
https://github.com/ledgerwatch/erigon-documents/blob/master/caplin/design/data-model.md#uint64listuint64vector
2023-12-13 15:23:27 +01:00
Giulio rebuffo
c477281362
Caplin: Parallel historical states reconstruction (#8817)
What does this PR do:
* Optional Backfilling and Caplin Archive Node
* Create antiquary for historical states
* Fixed gaps of chain gap related to the Head of the chain and anchor of
the chain.
* Added basic reader object to Read the Historical state
2023-12-06 10:48:36 +01:00
Giulio rebuffo
57bcbaa21f
Adds flags to enable/disable backfilling and enable full historical beacon node (#8813)
* Correct naming of hash func in Eth2
* Customizable mode of operation for Caplin
2023-11-22 13:24:35 +01:00
Giulio rebuffo
8d8368091c
Add full support to beacon snapshots (#8665)
This PR adds beacon blocks snapshots for the following chains:

* Mainnet snapshots
* Sepolia snapshots
2023-11-13 14:10:57 +01:00
Alex Sharov
3ac9f493b6
move chainname and snapcfg packages to erigon-lib (#8508) 2023-10-18 13:37:39 +07:00
Giulio rebuffo
d62ef03cad
Added states/fork and states/root to beacon API (#8293)
Added /eth/v1/beacon/states/{state_id}/root and
/eth/v1/beacon/states/{state_id}/fork
2023-09-27 11:15:51 +02:00
Giulio rebuffo
841327e212
BeaconAPI: Implemented /Spec (#8131) 2023-09-05 22:37:18 +02:00
Giulio rebuffo
e7dbc69571
Middleware for Caplin Beacon API (#8103) 2023-08-31 01:18:12 +02:00
a
521f0df55b
Historical block downloader (#8016) 2023-08-16 04:32:40 +02:00
Giulio rebuffo
e3a59ed902
Better caplin logging and logic (#7992) 2023-08-10 22:34:58 +02:00
Giulio rebuffo
443757edbd
Consensus separation for Engine API (Working on Sepolia) (#7945)
This makes the experimental consensus separation functional on sepolia.
2023-07-30 23:35:55 +02:00
a
3ab373787e
[caplin] extracting beacon state interface (#7910)
we need to extract this interface from the struct. 

i need to also break down the interface more, to better show what parts
the caching is used, move some functions from the cache state to the
underlying.


don't merge
2023-07-20 00:20:33 +02:00
Enrique Jose Avila Asapche
bff1e0e901
[Caplin] Added json rpc cl (#7836)
Allows for Caplin to be used with other ELs from aside of Erigon

---------

Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-07-08 16:42:30 +02:00
Andrew Ashikhmin
9f5808b055
Schedule Shapella for Gnosis Chain (#7784)
Schedule the
[Shanghai](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md)/[Capella](https://github.com/ethereum/consensus-specs/tree/dev/specs/capella)
upgrade for Gnosis Chain. The [Gnosis withdrawals
spec](https://github.com/gnosischain/specs/blob/master/execution/withdrawals.md)
documents the difference between Gnosis Chain and Ethereum mainnet.

Refer to https://github.com/gnosischain/specs/pull/10 and
https://github.com/gnosischain/configs/pull/12.
2023-06-22 15:36:07 +02:00
Giulio rebuffo
91dd39a7c1
Added support back for internal cl for testnets and gnosis (#7641) 2023-06-02 20:26:46 +02:00
Alex Sharov
5fb31ae95f
e3: release some e4 parts (#7628) 2023-06-02 10:35:26 +07:00
Giulio rebuffo
faf62a0c11
Caplin: Adding SSZ generics (#7542)
This PR makes the SSZ encodings less demented and more compact/flexible
overall
2023-05-23 20:58:34 +02:00
Giulio rebuffo
10848adb89
Embedded CL specific support to mainnet (#7533) 2023-05-17 15:32:47 +02:00
Andrew Ashikhmin
ea9712f858
Schedule Shapella on Chiado (#7518)
See https://github.com/NethermindEth/nethermind/pull/5160,
https://github.com/NethermindEth/nethermind/pull/5688, and
https://github.com/gnosischain/configs/pull/11
2023-05-16 23:50:09 +02:00
Giulio rebuffo
6f758fd0b9
added chiado and gnosis support to caplin (#7523) 2023-05-16 00:47:20 +02:00
Giulio rebuffo
4cbbe65f31
Resp/Req support for Deneb (#7519) 2023-05-15 20:07:27 +02:00
a
cda14447ad
[caplin] pkg refactor (#7507)
Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-05-13 23:44:07 +02:00
Enrique Jose Avila Asapche
9cf2b42478
[Caplin] Block transition (#7485)
Added process of blob kzg commits for block transition following:

https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md#beacon-chain-state-transition-function

#7389
2023-05-13 21:52:49 +02:00
Roberto Bayardo
8356f3a320
use ssz from updated erigon-lib (#7490)
ssz/clonable interfaces have been moved to erigon-lib so they can be
shared with the txpool code there
2023-05-11 12:54:20 +01:00
Enrique Jose Avila Asapche
fbd18516ae
Deneb container changes beacon-chain (#7420)
Adding container changes for Deneb:
https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md

Changed to use pointers for BlobSideCar
 
 #7389
2023-05-06 18:50:58 +02:00
Giulio rebuffo
43b09a7f55
Refactor of ssz interface (#7439)
Also added a better way to copy and the hasher
2023-05-05 11:19:24 +02:00
a
9644e6d220
Implement SpecTests in native go, add fork_choice handler (#7422)
a few TODO: remain to make this not a draft

---------

Co-authored-by: Giulio <giulio.rebuffo@gmail.com>
2023-05-02 16:19:22 +02:00
Giulio rebuffo
515aedda7b
Added Caplin Phase 1 (#7290)
* Introduces full beacon validation
* Removes light client
* NOTE: slow on purpose, I want everything to be BLS verified for now.
2023-04-17 18:06:50 +00:00
alex.sharov
cd2c5fe0fd sepolia url fix 2023-04-04 11:42:12 +07:00
Peter Davies
e912ae01d8
cl: Update checkpoint sync endpoints (#7223)
I have replaced the `ethdevops.io` endpoints with `ethpandaops.io`. The
Sepolia endpoint was failing with `no such host` and the checkpoint sync
documentation shows `ethpandaops.io` to be the official source for EF
checkpoint sync endpoints.
2023-03-30 20:59:12 +00:00
Andrew Ashikhmin
4a1c61a031
Schedule mainnet Shapella. Fix BellatrixForkEpoch (#7145)
See https://github.com/ethereum/execution-specs/pull/727. Also,
`BellatrixForkEpoch` should be 144896, not 144869: refer to [the
spec](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/fork.md).
2023-03-20 12:01:35 +00:00
Giulio rebuffo
36828fbb08
Added tool for processing for all mainnet beacon blocks (#7095) 2023-03-17 12:37:51 +00:00
Giulio rebuffo
dbf1225cb2
Added partial SSZ library (#7083)
Implements SSZ encode/decoding and hashtreeroot for simple list-lacking
data structures. does not account offset case.
2023-03-12 14:41:53 +00:00
Giulio rebuffo
e6ba82ca0b
Added Capella specs support to Erigon-CL (#7051)
Passing consensus-specs tests for Capella. Processing of withdrawals and
ExecutionChanges. efficient non-validation implemented. Refactored:
ExecutionPayload/ExecutionPayloadHeader.
2023-03-07 21:57:18 +00:00
Andrew Ashikhmin
e3906130ae
Rename SHARDING_FORK to DENEB_FORK (#7014)
See https://github.com/eth-clients/goerli/pull/160
2023-03-03 14:51:57 +00:00
Andrew Ashikhmin
aa9b9bdd1c
Schedule Shapella on Görli/Prater (#7012)
See https://github.com/ethereum/execution-specs/pull/724 &
https://github.com/eth-clients/goerli/pull/160
2023-03-03 13:27:36 +00:00
Giulio rebuffo
b51b293f14
faster rewards and penalties processing (#6958) 2023-02-25 21:51:30 +00:00
Giulio rebuffo
cfa8dd8657
Fixed sanity consensus tests for slots processing (#6949) 2023-02-24 21:07:32 +00:00
Giulio rebuffo
4525db6a9c
Fixed lightclient regression (#6946) 2023-02-24 15:11:50 +00:00
Andrew Ashikhmin
54593d934c
Don't use embedded CL by default for Gnosis (#6918)
Only Nimbus peers support light clients, and there's not enough Nimbus
peers on Gnosis.
2023-02-21 18:36:25 +00:00
Andrew Ashikhmin
67de38f097
Schedule Capella on Sepolia (#6920)
See https://github.com/eth-clients/sepolia/pull/30
2023-02-21 14:57:35 +00:00
Philippe Schommers
55091456a7
feat: add Gnosis and Chiado to CL (#6788)
This adds the Gnosis and Chiado configs to the CL. I'm sure there's
other things missing too. Any pointers would be appreciated!

Currently stuck on:
```
INFO[02-06|14:00:01.421] [Checkpoint Sync] Requesting beacon state uri=https://checkpoint.gnosis.gateway.fm/eth/v2/debug/beacon/states/finalized
INFO[02-06|14:00:02.846] [Checkpoint Sync] Retrieving lightclient bootstrap from sentinel root=6cd2f0f4018d7ca17c9bfaf69f7eb46706b5a9b3356b9686aa71ae15a11c47e4
```
2023-02-16 19:40:50 +00:00
Giulio rebuffo
3c069f7cbd
added static peers flag (#6884) 2023-02-15 17:56:10 +00:00
Giulio rebuffo
64ddd9f60e
Added reward/penalties processing (#6819) 2023-02-09 17:48:52 +01:00