Commit Graph

132 Commits

Author SHA1 Message Date
Age Manning
2e020a3efa
Implement the basic structure of the beacon node. 2019-03-03 18:28:12 +11:00
Age Manning
19a64f906e
Initial beacon node setup.
- Add network crate.
- Add sync crate.
- Add version crate.
- Add lighthouse configuration.
- Add network configuration.
2019-02-28 10:29:28 +11:00
thojest
278b41c8ef decided against moving test_utils (lighthouse-246) 2019-02-22 16:05:52 +01:00
thojest
5f3ba42b97 added first draft for lib-crates for test_random and test_random_derive (lighthouse-246) 2019-02-22 12:16:11 +01:00
Paul Hauner
a78256c778
Merge branch 'master' into ssz-derive 2019-02-19 20:46:47 +13:00
Paul Hauner
fdfaf18dbd
Add ssz_derive crate.
It appears to be fully functional at this stage.
2019-02-19 13:54:39 +11:00
Feng94
7ed606eca1
Modify block_producer references in other crates where needed for compilation 2019-02-19 00:21:23 +11:00
Paul Hauner
73484f04a1
Rename eth2_bytes to int_to_bytes 2019-02-15 11:19:25 +11:00
Paul Hauner
46673238b6
Add eth2_bytes crate
Is passing test vectors
2019-02-15 11:13:56 +11:00
Paul Hauner
18e85a3cf8
Add swap_or_not_shuffle and tests.
The implementation is not matching the EF implementation at this point.
2019-02-14 18:22:55 +11:00
Paul Hauner
c41b743d2d
Rename vec_shuffle to fisher_yates_shuffle
We're adding another shuffler so it's nice to be specific
2019-02-14 14:57:29 +11:00
Paul Hauner
35c914baa6
Revert "Merge pull request #200 from sigp/new-structure"
This reverts commit d7a3545be1, reversing
changes made to 1da06c156c.
2019-02-14 12:09:18 +11:00
Paul Hauner
1d5ff4359a
Strip out old code
All of these files have been moved to either:

- https://github.com/sigp/lighthouse-beacon
- https://github.com/sigp/lighthouse-validator
- https://github.com/sigp/lighthouse-common

For rationale, see: https://github.com/sigp/lighthouse/issues/197
2019-02-13 14:15:53 +11:00
Paul Hauner
36f441c968
Replace genesis crate with on-type defs
The methods in the `gensis` crate have been moved to `genesis` methods
on `BeaconState` and `BeaconBlock`.
2019-02-12 13:00:35 +11:00
Paul Hauner
f3e556bca3
Remove validator_induction crate 2019-02-12 09:02:26 +11:00
Paul Hauner
c1f8c85ce9
Add un-finished, uncompiling state_processing 2019-02-11 17:25:23 +11:00
Paul Hauner
da1498fc45
Remove validator_shuffling crate.
It has been replaced by the `beacon_state.get_shuffling` function.
2019-02-05 12:48:07 +11:00
Paul Hauner
acf8b79fe9
Add unsafe attester crate 2019-01-28 11:23:30 +11:00
Paul Hauner
e3115d2105
Move TestRig into its own crate 2019-01-27 14:22:51 +11:00
Paul Hauner
ea523c8658
Merge spec crate into types 2019-01-25 13:52:21 +11:00
Paul Hauner
2bcce37b3c
Remove outdated attestation_validation crate 2019-01-24 11:42:40 +11:00
Paul Hauner
188434aaa0
Move block_propser -> eth/, impl for val client 2019-01-23 21:41:47 +11:00
Paul Hauner
403eefb7b4
Move block_proposer into separate crate 2019-01-23 21:21:18 +11:00
Paul Hauner
1256ba0d01
Implement very raw state transition logic 2019-01-23 19:25:05 +11:00
Paul Hauner
bf2cd2331d
Fix dependencies after eth2 rename 2019-01-22 16:19:39 +11:00
Paul Hauner
40cf650563
Add validator_node, restructure binaries, gRPC.
This is a massive commit which restructures the workspace, adds a very
basic, untested, validator client and some very basic, non-functioning
gRPC endpoints to the beacon-node.
2019-01-14 12:55:55 +11:00
Paul Hauner
f01aac5ffa
Merge branch 'master' into chain-update 2019-01-09 10:11:41 +11:00
Paul Hauner
1081529cc7
Add basic BeaconChain struct 2018-12-30 13:03:20 +11:00
Grant Wuerker
f48eb568ba Merge branch 'master' into validator-record-update 2018-12-26 20:26:33 -06:00
Grant Wuerker
da508fd826 deleted validator_change 2018-12-26 12:45:04 -06:00
Paul Hauner
b978db23fc
Merge new beacon block, Rust 2018 2018-12-25 19:00:41 +11:00
Paul Hauner
91dea4bf29
Merge Rust 2018 updates 2018-12-24 10:03:56 +11:00
Paul Hauner
a42d931d66
Remove state-transition crate 2018-12-24 10:00:52 +11:00
Stan Drozd
dcf9f2244a
Add 'edition = "2018"' to every Cargo.toml 2018-12-19 16:38:59 +01:00
Paul Hauner
be4c6701ac
Remove SSZ helpers 2018-12-18 18:08:51 +11:00
Paul Hauner
fdca969868
Merge pull request #119 from ralexstokes/remove-active-validators-crate
Remove active validators crate
2018-12-13 17:46:01 +11:00
Alex Stokes
7d77ebd1b5
remove active-validators crate from deps desc 2018-12-12 19:24:15 -08:00
Paul Hauner
6847e68c5e
Move genesis code into its own crate 2018-12-13 12:27:45 +11:00
Paul Hauner
211d3961a0
Add ChainSpec structure.
It includes all constants from the
[Constants](https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#attestation)
section in the spec, except for things that are clearly enums.

My reasoning is that these enums are not so much "chain specification"
and this struct should be reserved for items that "configure" the chain.
2018-12-12 16:08:01 +11:00
Paul Hauner
7ea701aa30
Remove old block processing code 2018-12-10 09:54:25 +11:00
Paul Hauner
3533b8b892
Add untested attestation validation logic 2018-12-06 18:16:03 +11:00
Paul Hauner
46da9b670f
Add untested minimum viable block processing 2018-10-30 15:49:32 +01:00
Paul Hauner
68e4c47cd3
Add slot-clock 2018-10-24 13:16:09 +02:00
Paul Hauner
a170bfe4fc
Add untested validator change code 2018-10-23 23:45:54 +02:00
Paul Hauner
da25a66196
Move active_validators into own crate 2018-10-23 23:43:35 +02:00
Paul Hauner
073e3529e9
Add half-finished chain code 2018-10-20 16:34:08 +11:00
Paul Hauner
606c32950d
Move shuffling functions around
- Move `delegation` from the `transition` dir into its own dir:
`beacon_chain/validator_shuffling`
- Rename `beacon_chain/utils/shuffling` -> `vec_shuffle`
2018-10-20 16:30:32 +11:00
Paul Hauner
b4566a776a
Add validator induction functionality 2018-10-20 03:11:45 +11:00
Paul Hauner
2fb9dfbf14
Merge pull request #33 from sigp/validation
Add block and attestation validation
2018-10-18 10:07:06 +11:00
Paul Hauner
9717698f7b
Break split function into its own crate.
- Added tests
- Remove it from the delegation dir
- Added it as a crate in utils
2018-10-10 16:09:00 +11:00
Age Manning
ddc8037487
Merge branch 'master' into shuffling 2018-10-10 14:41:49 +11:00
Paul Hauner
739abc0bbd
Merge branch 'master' into validation 2018-10-09 18:28:35 +11:00
Paul Hauner
a65531ba95
Remove all libp2p and syncing code
This will all need to be rebuilt in the future.

This code will be available at a "legacy_libp2p" branch.
2018-10-09 13:36:54 +11:00
Age Manning
d15b1d066d
Create transition crate 2018-10-03 15:25:15 +10:00
Paul Hauner
2763f7bc00
Move shuffling to its own crate, update hash fn
Previously blake2s-256 was being used, now blake2b-512[:32] is being
used.
2018-10-03 13:43:28 +10:00
Paul Hauner
117a207d49
Add pre-written validation code
This adds block and attestation validation code that was written
previously. There were many non-validation specific changes made whilst
building these functions (e.g., db, hashing, etc) -- these changes have
already been merged into master and this branch has been created just to
make it easy to review this code.
2018-10-02 17:35:03 +10:00
Paul Hauner
0fbe4179b3
Heavily restructure repo
Separate most modules into crates
2018-10-02 16:41:10 +10:00
Paul Hauner
8f5285875b
Refactor validation tests into integration tests 2018-10-01 16:37:34 +09:30
Paul Hauner
b426c9e724
Remove "benches" feature
Now benches just live with the rest of the code in the default feature.
2018-09-30 16:09:07 +09:30
Paul Hauner
e0e8aa98f4
Introduce "benches" feature
So that benchmarks don't run each time tests run
2018-09-29 13:01:33 +09:30
Paul Hauner
b92d88d42b
Add (untested) parallelization for att validation 2018-09-28 15:38:51 +09:30
Paul Hauner
67b11a394e
Add new bls-aggregates crates 2018-09-23 20:19:30 +10:00
Paul Hauner
8b4970ed51
Implement SSZ decode for H256 2018-09-22 12:11:10 +10:00
Paul Hauner
fd1eea561e Move boolean_bitfield into own crate 2018-08-23 15:20:10 +10:00
Paul Hauner
9689142883 Add "Client" concept and RocksDB 2018-08-16 14:17:28 +10:00
Paul Hauner
3372583c18 Rename "src/" to "lighthouse/" 2018-08-15 13:41:16 +10:00
Paul Hauner
486865e803 Add new shuffling function 2018-08-14 16:23:38 +10:00
Paul Hauner
c36e00a1f6 Clear out old v2.0 objects 2018-08-10 11:22:15 +10:00
Paul Hauner
f276151c58 Tidy core deps 2018-08-07 10:15:11 +10:00
Paul Hauner
0064efc402 Restructure heavily 2018-08-07 10:08:39 +10:00
Paul Hauner
819527038e Restructure network and config 2018-08-07 09:13:24 +10:00
Paul Hauner
ba38cef25e Introduce NetworkConfig and NetworkState 2018-08-01 10:27:05 +10:00
Paul Hauner
68af2011b5 Update to closer match @tomaka demo 2018-07-29 10:11:37 +10:00
Paul Hauner
9dcf02e499 Add WIP libp2p floodsub 2018-07-28 10:02:45 +10:00
Paul Hauner
594c34388e Update version in cargo 2018-07-20 17:50:34 +10:00
Paul Hauner
e353102e32 Implement slog 2018-07-20 17:47:10 +10:00
Paul Hauner
9779aa1f81 Update package name 2018-07-20 17:44:54 +10:00
Paul Hauner
0448fd5ace Downgrade rand to suit bls repo 2018-07-12 15:37:36 +10:00
Paul Hauner
d1ce859f65 Removed parity submod, use parity-common for RLP 2018-07-12 15:10:02 +10:00
Paul Hauner
be441a9df9 Add get_crosslink_aggvote_msg fn 2018-07-11 14:16:31 +10:00
Paul Hauner
64a9455f87 Add blake2s hash type 2018-07-09 12:00:58 +10:00
Paul Hauner
7db81b167f Initial commit 2018-07-06 17:54:07 +10:00