Michael Sproul
e0b9fa599f
Add LRU cache to database ( #837 )
...
* Add LRU caches to store
* Improvements to LRU caches
* Take state by value in `Store::put_state`
* Store blocks by value, configurable cache sizes
* Use a StateBatch to efficiently store skip states
* Fix store tests
* Add CloneConfig test, remove unused metrics
* Use Mutexes instead of RwLocks for LRU caches
2020-02-10 11:30:21 +11:00
Paul Hauner
f267bf2afe
Optimizations, disable val client sync check & additional lcli tools ( #834 )
...
* Start adding interop genesis state to lcli
* Use more efficient method to generate genesis state
* Remove duplicate int_to_bytes32
* Add lcli command to change state genesis time
* Add option to allow VC to start with unsynced BN
* Set VC to do parallel key loading
* Don't default to dummy eth1 backend
* Add endpoint to dump operation pool
* Add metrics for op pool
* Remove state clone for slot notifier
* Add mem size approximation for tree hash cache
* Avoid cloning tree hash when getting head
* Fix failing API tests
* Address Michael's comments
* Add HashMap::from_par_iter
2020-02-04 12:43:04 +11:00
Age Manning
eef56e77ef
Patch discv5 - session establishment issues ( #828 )
2020-01-31 18:57:20 +11:00
Paul Hauner
b771bbb60c
Add proto_array fork choice ( #804 )
...
* Start implementing proto_array
* Add progress
* Add unfinished progress
* Add further progress
* Add progress
* Add tree filtering
* Add half-finished modifications
* Add refactored version
* Tidy, add incomplete LmdGhost impl
* Move impls in LmdGhost trait def
* Remove old reduced_tree fork choice
* Combine two functions in to `compute_deltas`
* Start testing
* Add more compute_deltas tests
* Add fork choice testing
* Add more fork choice testing
* Add more fork choice tests
* Add more testing to proto-array
* Remove old tests
* Modify tests
* Add more tests
* Add more testing
* Add comments and fixes
* Re-organise crate
* Tidy, finish pruning tests
* Add ssz encoding, other pub fns
* Rename lmd_ghost > proto_array_fork_choice
* Integrate proto_array into lighthouse
* Add first pass at fixing filter
* Clean out old comments
* Add more comments
* Attempt to fix prune error
* Adjust TODO
* Fix test compile errors
* Add extra justification change check
* Update cargo.lock
* Fix fork choice test compile errors
* Most remove ffg_update_required
* Fix bug with epoch of attestation votes
* Start adding new test format
* Make fork choice tests declarative
* Create test def concept
* Move test defs into crate
* Add binary, re-org crate
* Shuffle files
* Start adding ffg tests
* Add more fork choice tests
* Add fork choice JSON dumping
* Add more detail to best node error
* Ensure fin+just checkpoints from from same block
* Rename JustificationManager
* Move checkpoint manager into own file
* Tidy
* Add targetted logging for sneaky sync bug
* Fix justified balances bug
* Add cache metrics
* Add metrics for log levels
* Fix bug in checkpoint manager
* Fix compile error in fork choice tests
* Ignore duplicate blocks in fork choice
* Add block to fock choice before db
* Rename on_new_block fn
* Fix spec inconsistency in `CheckpointManager`
* Remove BlockRootTree
* Remove old reduced_tree code fragment
* Add API endpoint for fork choice
* Add more ffg tests
* Remove block_root_tree reminents
* Ensure effective balances are used
* Remove old debugging code, fix API fault
* Add check to ensure parent block is in fork choice
* Update readme dates
* Fix readme
* Tidy checkpoint manager
* Remove fork choice yaml files from repo
* Remove fork choice yaml from repo
* General tidy
* Address majority of Michael's comments
* Tidy bin/lib business
* Remove dangling file
* Undo changes for rpc/handler from master
* Revert "Undo changes for rpc/handler from master"
This reverts commit 876edff0e4a501aafbb47113454852826dcc24e8.
Co-authored-by: Age Manning <Age@AgeManning.com>
2020-01-29 15:05:00 +11:00
Kirk Baird
cd401147ea
Bump bls version ( #768 )
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2020-01-28 15:19:45 +11:00
Pawan Dhananjay
23a35c3767
Persist/load DHT on shutdown/startup ( #659 )
...
* Store dht enrs on shutdown
* Load enrs on startup and add tests
* Remove enr_entries from behavior
* Move all dht persisting logic to `NetworkService`
* Move `PersistedDht` from eth2-libp2p to network crate
* Add test to confirm dht persistence
* Add logging
* Remove extra call to beacon_chain persist
* Expose only mutable `add_enr` method from behaviour
* Fix tests
* Fix merge errors
2020-01-23 18:16:11 +11:00
Pawan Dhananjay
89f05e4a4f
Adds simulator for syncing ( #758 )
...
* Add CLI for beacon_chain_sim
* Rename beacon-chain-sim to simulator
* Fix simulator workflow
* Push Cargo.lock
* WIP syncing simulator
* Add cli args
* Remove eth1 stuff and deposits
* Add syncing strategy simulations
* Successful one node sync
* Clean up
* Rename to avoid confusion
* add command line args
* fix cargo fmt issues
* Add additional syncing strategies
* Run all syncing strategies one after other; add comments
* Improve cli argument parsing
* Change `end_after_checks` default to true
* Small modifications to syncing-sim
* Add `strategy` cli argument
* Documented defaults in cli help
Co-authored-by: mkinney <mike.kinney@gmail.com>
Co-authored-by: Age Manning <Age@AgeManning.com>
2020-01-23 18:07:39 +11:00
Pawan Dhananjay
661ef65de8
Persist eth1 cache ( #760 )
...
* Add intermediate structures for bytes conversion
* Expose byte conversion methods from `Eth1Service`
* Add eth1 ssz containers
* Fix type errors
* Load eth1 cache on restart
* Fix compile errors
* Update Cargo.lock
* Add comments and minor formatting
* Add test for eth1 cache persistence
* Restrict Deposit and Block cache field visibility
* Add checks
* Fix `SszDepositCache` check
* Implement Encode/Decode directly on `BlockCache`
2020-01-20 07:52:58 +11:00
Age Manning
13e74e5352
Correct stream timeout delay queue handling ( #803 )
...
* Correct stream timeout delay queue handling
* Correct small typo
2020-01-15 15:50:01 +11:00
Age Manning
c184a98170
Sync fixes ( #801 )
...
* Randomize peer selection for batch errors
* Downgrade attestation logging
* Handle range sync errors
* Update lock file
* Downgrade logs
* Decrease batch size for better thread handling
* Optimise peer selection in range sync
2020-01-15 14:48:09 +11:00
Paul Hauner
370c658c7c
Optimization: reduce BLS decompression ( #766 )
...
* Add RwLock-style caching for BLS pubkeys
* Tidy docker ignore
* Remove RwLocks
* Merge in master
2020-01-10 15:32:10 +11:00
Age Manning
b3712d8e9b
Discv5 upgrade ( #788 )
...
* Update discv5 to delay queues for timeouts
* Further discv5 bug fixes
2020-01-10 14:35:07 +11:00
Age Manning
30f51df4cf
Improved RPC timeout handling ( #770 )
...
* Handle slow app level responses for RPC
* Correct errors
* Terminates stream on error
2020-01-08 14:18:06 +11:00
Michael Sproul
f36a5a15d6
Store states efficiently in the hot database ( #746 )
...
* Sparse hot DB and block root tree
* Fix store_tests
* Ensure loads of hot states on boundaries are fast
* Milder error for unaligned finalized blocks
2020-01-08 13:58:01 +11:00
Age Manning
55680ab1d3
Update libp2p and updates gossipsub ( #764 )
...
* Update gossipsub, adds anonymous source
* Remove temp protobuf fix
2020-01-03 17:56:03 +11:00
Age Manning
45271abc16
Filter gossipsub message duplication ( #736 )
...
* Add duplication prevention to gossipsub
* Clean up topic logs
* Add content addressed messages for gossip
2019-12-20 16:26:30 +11:00
Paul Hauner
34f003adb8
Add more eth1 metrics ( #728 )
...
* Add metrics for junk eth1 votes
* Add eth1 cache metrics
2019-12-17 10:20:27 +11:00
Paul Hauner
f1edca30ff
Add Cargo.lock ( #684 )
2019-12-09 22:39:44 +11:00