nimbus-eth2/beacon_chain
Jacek Sieka 46c94a18ba rework epoch cache referencing
* collect all epochrefs in specific blocks to make them easier to find
and to avoid lots of small seqs
* reuse validator key databases more aggressively by comparing keys
* make state cache available from within `withState`
* make epochRef available from within onBlockAdded callback
* integrate getEpochInfo into block resolution and epoch ref logic such
that epochrefs are created when blocks are added to pool or lazily when
needed by a getEpochRef
* fill state cache better from EpochRef, speeding up replay and
validation
* store epochRef in specific blocks to make them easier to find and
reuse
* fix database corruption when state is saved while replaying quarantine
* replay slots fully from block pool before processing state
* compare bls values more smartly
* store epoch state without block applied in database - it's recommended
to resync the node!

this branch will drastically speed up processing in times of long
non-finality, as well as cut memory usage by 10x during the recent
medalla madness.
2020-08-19 10:09:06 +03:00
..
block_pools rework epoch cache referencing 2020-08-19 10:09:06 +03:00
fork_choice simplify fork choice code (#1521) 2020-08-18 16:56:32 +02:00
spec rework epoch cache referencing 2020-08-19 10:09:06 +03:00
ssz convert 22 v0.12.1 spec refs to v0.12.2 and remove 1 unnecessary spec ref (#1384) 2020-07-28 14:55:46 +00:00
tracing
.gitignore
attestation_aggregation.nim small spec cleanups (#1501) 2020-08-13 13:47:06 +00:00
attestation_pool.nim simplify fork choice code (#1521) 2020-08-18 16:56:32 +02:00
beacon_chain_db.nim fix invalid state root being written to database (#1493) 2020-08-13 11:50:05 +02:00
beacon_node.nim rework epoch cache referencing 2020-08-19 10:09:06 +03:00
beacon_node.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
beacon_node_common.nim initial dynamic subscribe/unsubscribe for attestations to/from subnets (#1462) 2020-08-12 17:48:31 +00:00
beacon_node_types.nim renamed CandidateChains to ChainDagRef and made the Quarantine type a ref type so there is a single instance in the beacon node (#1407) 2020-07-31 14:49:06 +00:00
conf.nim remove eth from default status bar 2020-08-10 17:01:53 +03:00
deposit_contract.nim Use the same keystore directory names as Lighthouse 2020-08-06 21:50:19 +03:00
deposit_contract_code.txt Integrate the Wallet support with the Deposits creation; Produce Launchpad-compatible deposits 2020-07-28 07:36:25 +03:00
eth2_discovery.nim Remove unsused import 2020-07-10 16:30:45 +03:00
eth2_json_rpc_serialization.nim initializing the pubkeys properly in the rest of the places for the BN/VC communication to work 2020-08-05 16:37:55 +03:00
eth2_network.nim use split out pubsub 2020-08-17 17:24:36 +03:00
extras.nim rework epoch cache referencing 2020-08-19 10:09:06 +03:00
faststreams_backend.nim
inspector.nim use split out pubsub 2020-08-17 17:24:36 +03:00
inspector.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
interop.nim Working test suite with run-time presets 2020-07-08 02:02:14 +03:00
keystore_management.nim Bugfix: Correct wallet by UIID search in 'deposits create' 2020-08-13 14:32:22 +03:00
libp2p_json_serialization.nim bump libp2p (#1267) 2020-07-01 13:41:40 +02:00
libp2p_streams_backend.nim remove snappy RPC support (#1477) 2020-08-10 15:18:17 +02:00
logtrace.nim increase Jenkins timeout from 90 to 100 minutes (#1519) 2020-08-18 07:13:53 +00:00
mainchain_monitor.nim eh cleanups (#1458) 2020-08-06 18:47:39 +00:00
merkle_minimal.nim use cache in process_voluntary_exit() (#1507) 2020-08-14 12:42:59 +00:00
network_metadata.nim synchronize test summaries with make test (and do a few small cleanups) (#1415) 2020-08-03 12:07:25 +00:00
nimbus_binary_common.nim makeBannerAndConfig(): disable ProveInit warning 2020-08-04 15:00:55 +02:00
nimquery.nim
peer_pool.nim eh cleanups (#1458) 2020-08-06 18:47:39 +00:00
request_manager.nim Use one single async queue and loop for processing blocks. (#1487) 2020-08-12 11:29:11 +02:00
ssz.nim
sszdump.nim cache block hash (#1329) 2020-07-16 15:16:51 +02:00
statusbar.nim Cosmetic improvement for the statusbar 2020-06-11 17:40:08 +03:00
sync_manager.nim Use one single async queue and loop for processing blocks. (#1487) 2020-08-12 11:29:11 +02:00
sync_protocol.nim More spec compliant blocksByRange requests 2020-08-10 22:09:13 +03:00
sync_protocol.nim.generated.nim More spec compliant blocksByRange requests 2020-08-10 22:09:13 +03:00
time.nim update 14 v0.12.1 spec refs to v0.12.2 (#1400) 2020-07-30 09:47:57 +00:00
validator_api.nim rework epoch cache referencing 2020-08-19 10:09:06 +03:00
validator_client.nim initializing the pubkeys properly in the rest of the places for the BN/VC communication to work 2020-08-05 16:37:55 +03:00
validator_client.nim.cfg Use only secp256k1 as identity in libp2p. (#1343) 2020-07-21 18:07:14 +02:00
validator_duties.nim rework epoch cache referencing 2020-08-19 10:09:06 +03:00
validator_pool.nim use epochcache for attesting (#1478) 2020-08-10 15:21:31 +02:00
version.nim Add an option for graffiti customization 2020-07-12 21:01:31 +03:00