Commit Graph

67 Commits

Author SHA1 Message Date
Age Manning
8109fad7bf
Create the fork-choice crate.
- Adds the naive fork choice (longest chain) rule.
- Adds basic documentation for the crate.
2019-02-05 15:55:29 +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