Commit Graph

176 Commits

Author SHA1 Message Date
Grant Wuerker
a17be85a78 some cleanup 2019-11-20 23:43:44 +09:00
Grant Wuerker
f95eccffb1 corrections 2019-11-19 22:50:14 +09:00
Grant Wuerker
c492657dbc complete draft 2019-11-19 22:40:39 +09:00
Grant Wuerker
10fe0e578c some cleanup and notes 2019-11-08 16:43:48 +09:00
Grant Wuerker
912dbf60b4 should_forward_block cleanup 2019-11-07 23:29:52 +09:00
Grant Wuerker
410c8aa2bd should_forward function 2019-11-06 19:46:03 +09:00
Grant Wuerker
1d40a723b0 notes from call 2019-10-29 15:20:39 +09:00
Michael Sproul
81325a0e05 Run rustfmt 2019-09-30 11:30:47 +10:00
Paul Hauner
b4806d27eb Fix comments from Michael 2019-09-26 10:46:56 +10:00
Paul Hauner
37cd98f3ce Add additional logging for gossip messages 2019-09-08 18:51:24 -04:00
Paul Hauner
92c16bb911 Add extra logs to gossip object processing 2019-09-08 14:20:48 -04:00
Age Manning
04b47a357b Correct bugs in new sync threading 2019-09-07 09:31:05 +10:00
Age Manning
812e1fbe26 Implements a new thread dedicated for syncing 2019-09-07 00:28:54 +10:00
Age Manning
ee25766cae Correct recent beacon block request bug 2019-09-05 22:18:17 +10:00
Age Manning
a3877b6135 Updates syncing stability, fixes large RPC message codec, corrects beacon chain referencing 2019-09-05 08:07:57 +10:00
Age Manning
8256621230 Merge message validation 2019-09-05 03:06:57 +10:00
Age Manning
2a1d6587a7 Merge latest interop 2019-09-05 03:03:45 +10:00
Age Manning
e7ab89a783 Adds gossipsub object validation and verification 2019-09-05 02:06:39 +10:00
Paul Hauner
1b4679e5bc Improve block processing outcomes enum 2019-09-03 14:18:45 +10:00
Age Manning
13b5df56b3 Account manager, bootnodes, RPC display and sync fixes 2019-09-03 07:50:44 +10:00
Age Manning
cd7b6da88e Updates syncing, corrects CLI variables 2019-09-03 00:34:41 +10:00
Paul Hauner
a8fce42ea9 Merge branch 'master' into interop 2019-09-02 15:15:43 +10:00
Age Manning
74baeb4d08 WIP - Upgrade Sync algorithm 2019-09-02 05:38:11 +10:00
Paul Hauner
6ba093d14f Add warning when disconnecting peer 2019-08-30 17:06:59 +10:00
Age Manning
192380cb58 Ethereum 2.0 Network Specification Upgrade (#510)
Updates lighthouse to the latest networking spec

-  Sync re-write (#496)
-  Updates to the latest eth2 networking spec (#495)
-  Libp2p updates and improvements
2019-08-29 13:23:28 +02:00
Paul Hauner
7d03806107 Upgrade codebase to new SlotClock API 2019-08-29 14:26:30 +10:00
Paul Hauner
bcd53a8b10 Migrate codebase across to new SlotClock API 2019-08-29 13:25:55 +10:00
Age Manning
72cf50d904 Update to latest master 2019-08-25 09:06:26 +10:00
Age Manning
7ee080db60 Updated syncing algorithm 2019-08-25 08:25:54 +10:00
Age Manning
0d56df474a Main batch sync debugging 2019-08-25 00:27:47 +10:00
Age Manning
b078385362 Improved syncing compilation issues 2019-08-24 01:09:29 +10:00
Paul Hauner
0c3fdcd57c Bootstrap (#501)
* Renamed fork_choice::process_attestation_from_block

* Processing attestation in fork choice

* Retrieving state from store and checking signature

* Looser check on beacon state validity.

* Cleaned up get_attestation_state

* Expanded fork choice api to provide latest validator message.

* Checking if the an attestation contains a latest message

* Correct process_attestation error handling.

* Copy paste error in comment fixed.

* Tidy ancestor iterators

* Getting attestation slot via helper method

* Refactored attestation creation in test utils

* Revert "Refactored attestation creation in test utils"

This reverts commit 4d277fe4239a7194758b18fb5c00dfe0b8231306.

* Integration tests for free attestation processing

* Implicit conflicts resolved.

* formatting

* Do first pass on Grants code

* Add another attestation processing test

* Tidy attestation processing

* Remove old code fragment

* Add non-compiling half finished changes

* Simplify, fix bugs, add tests for chain iters

* Remove attestation processing from op pool

* Fix bug with fork choice, tidy

* Fix overly restrictive check in fork choice.

* Ensure committee cache is build during attn proc

* Ignore unknown blocks at fork choice

* Various minor fixes

* Make fork choice write lock in to read lock

* Remove unused method

* Tidy comments

* Fix attestation prod. target roots change

* Fix compile error in store iters

* Reject any attestation prior to finalization

* Begin metrics refactor

* Move beacon_chain to new metrics structure.

* Make metrics not panic if already defined

* Use global prometheus gather at rest api

* Unify common metric fns into a crate

* Add heavy metering to block processing

* Remove hypen from prometheus metric name

* Add more beacon chain metrics

* Add beacon chain persistence metric

* Prune op pool on finalization

* Add extra prom beacon chain metrics

* Prefix BeaconChain metrics with "beacon_"

* Add more store metrics

* Add basic metrics to libp2p

* Add metrics to HTTP server

* Remove old `http_server` crate

* Update metrics names to be more like standard

* Fix broken beacon chain metrics, add slot clock metrics

* Add lighthouse_metrics gather fn

* Remove http args

* Fix wrong state given to op pool prune

* Make prom metric names more consistent

* Add more metrics, tidy existing metrics

* Fix store block read metrics

* Tidy attestation metrics

* Fix minor PR comments

* Fix minor PR comments

* Remove duplicated attestation finalization check

* Remove awkward `let` statement

* Add first attempts at HTTP bootstrap

* Add beacon_block methods to rest api

* Fix serde for block.body.grafitti

* Allow travis failures on beta (see desc)

There's a non-backward compatible change in `cargo fmt`. Stable and beta
do not agree.

* Add network routes to API

* Fix rustc warnings

* Add best_slot method

* Add --bootstrap arg to beacon node

* Get bootstrapper working for ENR address

* Store intermediate states during block processing

* Allow bootstrapper to scrape libp2p address

* Update bootstrapper libp2p address finding

* Add comments

* Tidy API to be more consistent with recent decisions

* Address some review comments

* Make BeaconChainTypes Send + Sync + 'static

* Add `/network/listen_port` API endpoint

* Abandon starting the node if libp2p doesn't start

* Update bootstrapper for API changes

* Remove unnecessary trait bounds
2019-08-23 15:53:53 +10:00
Age Manning
c259d6c006 First draft sync re-write. WIP 2019-08-18 03:36:13 +10:00
Paul Hauner
cd26a19a70 Attestation processing (#497)
* Renamed fork_choice::process_attestation_from_block

* Processing attestation in fork choice

* Retrieving state from store and checking signature

* Looser check on beacon state validity.

* Cleaned up get_attestation_state

* Expanded fork choice api to provide latest validator message.

* Checking if the an attestation contains a latest message

* Correct process_attestation error handling.

* Copy paste error in comment fixed.

* Tidy ancestor iterators

* Getting attestation slot via helper method

* Refactored attestation creation in test utils

* Revert "Refactored attestation creation in test utils"

This reverts commit 4d277fe4239a7194758b18fb5c00dfe0b8231306.

* Integration tests for free attestation processing

* Implicit conflicts resolved.

* formatting

* Do first pass on Grants code

* Add another attestation processing test

* Tidy attestation processing

* Remove old code fragment

* Add non-compiling half finished changes

* Simplify, fix bugs, add tests for chain iters

* Remove attestation processing from op pool

* Fix bug with fork choice, tidy

* Fix overly restrictive check in fork choice.

* Ensure committee cache is build during attn proc

* Ignore unknown blocks at fork choice

* Various minor fixes

* Make fork choice write lock in to read lock

* Remove unused method

* Tidy comments

* Fix attestation prod. target roots change

* Fix compile error in store iters

* Reject any attestation prior to finalization

* Fix minor PR comments

* Remove duplicated attestation finalization check

* Remove awkward `let` statement
2019-08-14 10:55:24 +10:00
Age Manning
d25ec359c8 Merge attestation processing 2019-08-12 22:25:25 +10:00
Age Manning
5d4d2f35e1 Initial sync re-write. WIP 2019-08-12 22:07:59 +10:00
Paul Hauner
cd11eb15a5 Merge branch 'master' into attestation-processing 2019-08-11 09:08:26 +10:00
Age Manning
468015f9bb Initial Interop Updates (#492)
* Add interop chain spec and rename chain_id

* Add ability to connect to raw libp2p nodes

* Adds Identify protocol, clean up RPC protocol name handling

* Update to latest libp2p, gossipsub improvements

* Updates to latest interop branch.

- Shifts decoding of objects into message handler.
- Updates to latest interop gossipsub.
- Adds interop spec constant.

* Configuration updates allow for verbosity CLI flag and spec constants

* Update submodules to master

* Correct minimal chainspec modifications

* Duplication of validator polls are no longer fatal

* Apply PR suggestions
2019-08-10 11:44:17 +10:00
Age Manning
5a74239ebc Add decoding/encoding for extended gossip topics. Correct logging CLI 2019-08-09 13:27:31 +10:00
Age Manning
ce50616032 Improve logging 2019-08-09 13:27:30 +10:00
Age Manning
826abea8e0 Merge latest 'master' 2019-08-09 10:46:49 +10:00
Paul Hauner
284166c7f8 Merge branch 'master' into attestation-processing 2019-08-08 17:11:19 +10:00
Paul Hauner
3a1f56a42e Tidy ancestor iterators (#490)
* Tidy ancestor iterators

* Improve comments, remove code fragement
2019-08-08 12:28:10 +10:00
Paul Hauner
8cfa36fedd Publish ssz_types (and deps) to crates.io (#468)
* Rename `hashing` crate to `eth2_hashing`

* Add license, desc to eth2_hashing Cargo.toml

* Remove merkle root from eth2 hashing

* Remove old benches folder (zombied from old branch)

* Add docs to eth2_hashing

* Prepare tree_hash for publishing on crates.io

* Update deps to use crates.io instead of paths

* Update all crates to pull ssz from crates.io

* Remove cached_tree_hash, add patches to manifest

* Fix compile error in benches

* Remove unused code

* Fix fake_crypto compile error
2019-08-08 11:39:47 +10:00
Paul Hauner
436c87abcd Merge branch 'iter-fixes' into attestation-processing 2019-08-07 15:45:42 +10:00
Paul Hauner
2c3fc318ba Do first pass on Grants code 2019-08-07 13:20:15 +10:00
Age Manning
107bbdcccd Updates to latest interop branch.
- Shifts decoding of objects into message handler.
- Updates to latest interop gossipsub.
- Adds interop spec constant.
2019-08-06 17:54:38 +10:00
Age Manning
40c0b70b22 Add interop chain spec and rename chain_id 2019-08-06 15:35:05 +10:00
Paul Hauner
b096e3a643 Tidy ancestor iterators 2019-08-06 14:29:45 +10:00
Paul Hauner
e21d3fed05 Revert "Tidy ancestor iterators"
This reverts commit 5079c25bb2.

Accidental push to master.. my bad!
2019-08-05 16:27:55 +10:00