Commit Graph

20 Commits

Author SHA1 Message Date
Giulio rebuffo
c619413871
better performance for Sentinel block downloader (80 blk/sec) (#6398) 2022-12-21 19:47:29 +01:00
Mike Neuder
3e7c1502b7
Implement ProcessBlockHeader (#6365)
This is described in
https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#block-header

Part of https://github.com/ledgerwatch/erigon/issues/5965
2022-12-19 14:24:39 +01:00
Alex Sharov
dfa6505f93
e3: kv/temporal prototype (#6367) 2022-12-19 15:38:54 +07: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
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
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