Giulio rebuffo
e640cea7d0
no CPU implosion when using sentinel ( #6361 )
2022-12-18 18:57:30 +01:00
Mike Neuder
66654dc4b1
Implement GetBeaconProposerIndex ( #6352 )
...
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#get_beacon_proposer_index .
Part of https://github.com/ledgerwatch/erigon/issues/5965
I compared with the Prysm tests to confirm the implementation is
correct:
2e49fdb3d2/beacon-chain/core/helpers/validators_test.go (L151-L204)
.
2022-12-18 17:39:43 +01:00
Giulio rebuffo
0a3bfef484
Added prototype for Beacon history reconstruction stage ( #6351 )
2022-12-17 16:05:56 +01:00
Giulio rebuffo
14cf0771a4
slight modification to computation of indexes ( #6345 )
2022-12-17 01:01:24 +01:00
Giulio rebuffo
de8bae6fe0
optimized beacon state computation ( #6341 )
2022-12-16 13:38:54 +01:00
Mike Neuder
d1f6ed29ff
Add ComputeProposerIndex ( #6297 )
...
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_proposer_index .
Part of https://github.com/ledgerwatch/erigon/issues/5965
I compared with the Prysm tests to confirm the implementation is
correct:
2e49fdb3d2/beacon-chain/core/helpers/validators_test.go (L506-L614)
2022-12-16 00:06:49 +01:00
Giulio rebuffo
0f0d0de783
Use of proper beacon state interface ( #6277 )
2022-12-11 15:12:38 +01:00
Mike Neuder
f512c887dc
Add ComputeShuffledIndex algorithm. ( #6267 )
...
This is described in:
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#compute_shuffled_index .
I ran the prysm implementation locally to generate the expected outputs:
babfc66c5b/beacon-chain/core/helpers/shuffle.go (L73)
Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-10 13:59:29 +01:00
Giulio rebuffo
5ba6859c92
Added Fully-Working State Trie Computation to Beacon State ( #6268 )
2022-12-10 01:08:49 +01:00
Giulio rebuffo
1c8a11df40
Added dirty leaves system to beacon state ( #6264 )
2022-12-09 19:19:01 +01:00
Giulio rebuffo
ecf34b2493
Proper Beacon State Repressentation attempt ( #6254 )
2022-12-09 00:55:31 +01:00
Giulio rebuffo
0da12e4c94
Verification by root and not by slot ( #6243 )
2022-12-07 21:26:45 +01:00
Giulio rebuffo
6e76643c09
Added Handshake protocol to Erigon-CL Lightclient and Fullclient ( #6206 )
2022-12-05 01:25:12 +01:00
Giulio rebuffo
1fd3a01edf
Added Consensus Layer staged sync ( #6183 )
2022-12-03 03:16:26 +01:00
Mike Neuder
3a8c9ccdb3
Add state transition function and unit test. ( #6170 )
...
Part of https://github.com/ledgerwatch/erigon/issues/5965
See
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function .
2022-12-01 20:57:41 +01:00
Mike Neuder
d3d65f6caa
Add verify block signature function and unit test ( #6166 )
...
Part of https://github.com/ledgerwatch/erigon/issues/5965
See
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#beacon-chain-state-transition-function .
2022-11-30 22:50:00 +01:00
Giulio rebuffo
025839afd5
moved out protobuffers for sentinel ( #6145 )
2022-11-29 00:00:40 +01:00
Giulio rebuffo
05be20b70b
smol refactor of lightclient CI + logs demotion ( #6144 )
2022-11-28 23:29:48 +01:00
Giulio rebuffo
8c38eeda5a
Added skeleton for beacon chain state transition ( #6135 )
2022-11-27 00:03:58 +01:00
Mike Neuder
eb7e5c2c6e
Adding processSlots functionality and unit test for transitionState and processSlots ( #6136 )
...
Part of the CL implementation.
https://github.com/ledgerwatch/erigon/issues/5965
2022-11-26 23:34:17 +01:00
Giulio rebuffo
8c67c55cc7
Created Erigon beacon downloader ( #6130 )
2022-11-25 16:38:22 +01:00
Giulio rebuffo
a1de39d25c
added beacon state-transition first structure ( #6105 )
2022-11-22 15:36:08 +01:00
Mike Neuder
9352ea3b57
Add get blocks by range request to recent block sync ( #6104 )
...
Part of https://github.com/ledgerwatch/erigon/issues/5965 .
2022-11-22 18:28:15 +07:00
Mike Neuder
f33ec06572
Add Status fetching and made sentinel request logic generic ( #6094 )
...
Part of https://github.com/ledgerwatch/erigon/issues/5965 .
An example logging output shows that we are getting accurate data:
the current finalized checkpoint block:
https://beaconcha.in/slot/5180288
the current head block: https://beaconcha.in/slot/5180361
```
INFO[11-20|16:52:36.631] Retrieved status. status="&{ForkDigest:[74 38 197 139] FinalizedRoot:[133 83 36 34 8 25 208 12 77 180 192 189 151 179 237 244 192 20 216 226 40 178 142 28 242 91 4 66 250 58 200 92] FinalizedEpoch:161884 HeadRoot:[164 219 216 224 200 71 201 76 70 253 61 144 64 238 11 14 224 173 49 5 107 109 238 32 215 126 85 23 10 170 107 223] HeadSlot:5180361}"
INFO[11-20|16:52:36.631] Current finalized root. root=855324220819d00c4db4c0bd97b3edf4c014d8e228b28e1cf25b0442fa3ac85c
INFO[11-20|16:52:36.631] Current finalized epoch. epoch=161884
INFO[11-20|16:52:36.631] Current head root. root=a4dbd8e0c847c94c46fd3d9040ee0b0ee0ad31056b6dee20d77e55170aaa6bdf
INFO[11-20|16:52:36.631] Current head slot. slot=5180361
```
2022-11-21 18:50:20 +01:00
Mike Neuder
45938124f5
WIP sync from checkpoint ( #6042 )
...
https://github.com/ledgerwatch/erigon/issues/5965 . This PR starts the
implementation of syncing from a checkpoint to head.
Co-authored-by: Andrew Ashikhmin <34320705+yperbasis@users.noreply.github.com>
Co-authored-by: Alex Sharov <AskAlexSharov@gmail.com>
Co-authored-by: Giulio rebuffo <giulio.rebuffo@gmail.com>
Co-authored-by: Nebojsa Urosevic <nebojsa94@users.noreply.github.com>
Co-authored-by: Mark Shields <4237425+beejiujitsu@users.noreply.github.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Enrique Jose Avila Asapche <eavilaasapche@gmail.com>
Co-authored-by: Nathan (Blaise) Bruer <thegreatall@gmail.com>
Co-authored-by: lupin012 <58134934+lupin012@users.noreply.github.com>
Co-authored-by: Philippe Schommers <philippe@schommers.be>
2022-11-20 18:44:42 +01:00
Giulio rebuffo
5c5c19aa4c
added basic lightclient stream handlers ( #6085 )
2022-11-20 14:23:51 +01:00
Giulio rebuffo
7ea8de4a3f
added checkpoint saving ( #6060 )
2022-11-16 16:19:40 +01:00
Giulio rebuffo
4840234ce9
Remove printf ( #5941 )
2022-11-02 23:48:34 +01:00
Giulio rebuffo
5c3245d4e0
Added Checkpoint sync for CL full client ( #5934 )
2022-11-02 13:12:44 +01:00