Commit Graph

555 Commits

Author SHA1 Message Date
Paul Hauner
a86f7fa51b
Tidy AttestationAggregator, add docstrings. 2019-02-01 15:16:24 +11:00
Paul Hauner
20e45b3369
Refactor block_processing
- Add the rayon library for parallelization
- Move from std::sync::Rwlock to rayon::RwLock
- Add `state` field to BeaconChain
- Fix major bug in attestation validator where justified slot was
incorrectly looked up.
2019-02-01 14:48:09 +11:00
Paul Hauner
b6b738e83a
Improve test_harness efficiency for attesatations
Reduce the amount of attester.poll() calls by using a hashset
2019-01-31 20:27:15 +11:00
Paul Hauner
becb81d842
Fix memory blow-up with Arc<ChainSpec>
Previously it was cloning the ChainSpec, now it shares an Arc.
2019-01-31 20:24:37 +11:00
Paul Hauner
c1b3d1b63e
Tidy up and add some logs 2019-01-31 18:32:01 +11:00
Paul Hauner
d6adfc7655
Refactor justified_slot fn
Now it reads from the head state
2019-01-31 18:30:43 +11:00
Paul Hauner
3f13c25c05
Fix issues with per_epoch block_root calls
They were being called with the wrong slot.
2019-01-31 18:28:54 +11:00
Paul Hauner
5da955e3ce
Ensure harness produces block before attestations. 2019-01-31 16:41:17 +11:00
Paul Hauner
c5a0170a0a
Tidy out some verbose debugs 2019-01-31 16:40:44 +11:00
Paul Hauner
8073296f5d
Ensure per_epoch processing always runs.
Previously, it was running _after_ a state transition, not before it
with the slot processing.
2019-01-31 16:39:44 +11:00
Paul Hauner
ae39a24e71
Add committee_index to aggregator
Fixes a bug where the validator index bit was set on the bitfield,
instead of the committee index
2019-01-31 14:16:28 +11:00
Paul Hauner
2fc6dbb02a
Fix bug with inclusion_distance 2019-01-31 08:49:50 +11:00
Paul Hauner
7d94cfb0e4
Refine state transition to allow first transition 2019-01-31 00:39:34 +11:00
Paul Hauner
6a4252b8c6
Add state helpers from #148 2019-01-28 19:12:20 +11:00
Paul Hauner
2882110525
Add attesatation aggregation to test harness 2019-01-28 17:07:13 +11:00
Paul Hauner
be7e326c33
Add FreeAttesation type 2019-01-28 16:21:33 +11:00
Paul Hauner
5bbffcb053
Add attester to beacon chain test harness 2019-01-28 15:50:42 +11:00
Paul Hauner
e1698102e0
Add attestation aggregation to BeaconChain 2019-01-28 13:04:50 +11:00
Paul Hauner
e9abf06364
Add attestation production to BeaconChain 2019-01-28 13:00:45 +11:00
Paul Hauner
d1ac7c037d
Add chain.justified_head 2019-01-28 13:00:08 +11:00
Paul Hauner
b516fd472e
Rename chain.canonical_head to head 2019-01-28 12:58:20 +11:00
Paul Hauner
4f1aeb2c79
Run rustfmt --all 2019-01-27 17:57:38 +11:00
Paul Hauner
fd47f6c433
Move attestation validator to BeaconState fn 2019-01-27 17:54:26 +11:00
Paul Hauner
b487db68a1
Add signable_message() to Attestation 2019-01-27 17:28:16 +11:00
Paul Hauner
2bda7e3d14
Add BeaconChain benchmarking 2019-01-27 15:45:29 +11:00
Paul Hauner
8e9a139560
Make BeaconChain CheckPoint fields public 2019-01-27 15:39:34 +11:00
Paul Hauner
1082c8857a
Rename "TestRig" to "BeaconChainHarness" 2019-01-27 14:25:26 +11:00
Paul Hauner
e3115d2105
Move TestRig into its own crate 2019-01-27 14:22:51 +11:00
Paul Hauner
054be5b9b2
Add BenchingBeaconNode to chain tests 2019-01-27 13:59:04 +11:00
Paul Hauner
22a08e5160
Fix failing tests 2019-01-26 22:22:52 +11:00
Paul Hauner
7ee836d118
Implement the majority of per-epoch processing 2019-01-26 22:07:50 +11:00
Paul Hauner
eb77fb75b7
Dump chain to JSON file 2019-01-26 08:25:56 +11:00
Paul Hauner
dbd5e850fe
Add chain_dump fn to beacon_chain 2019-01-26 07:20:58 +11:00
Paul Hauner
4d3889d838
Remove old hash_tree_root stub from state trans 2019-01-25 17:47:33 +11:00
Paul Hauner
f9acc42aca
Rename canonical_hash to `hash 2019-01-25 17:40:22 +11:00
Paul Hauner
ad62e1e35c
Rust cargo fmt 2019-01-25 17:23:54 +11:00
Paul Hauner
78c00d3361
Move back to using proposer_slots 2019-01-25 16:54:19 +11:00
Paul Hauner
138fcd6275
Fix issues with old state information 2019-01-25 16:47:24 +11:00
Paul Hauner
ea523c8658
Merge spec crate into types 2019-01-25 13:52:21 +11:00
Paul Hauner
9c86c07eea
Fix unused deps warnings 2019-01-25 13:05:11 +11:00
Paul Hauner
f4f5b3a13c
Update beacon_chain as per test bugs 2019-01-25 11:30:06 +11:00
Paul Hauner
271a4cf8a7
Add get_deserialized fns to block & state stores. 2019-01-25 11:23:59 +11:00
Paul Hauner
6fd3a1a03e
Add progress on test rig 2019-01-25 08:18:47 +11:00
Paul Hauner
b29934aed4
Update state transition as per spec 2019-01-24 12:10:03 +11:00
Paul Hauner
a4ac5b0d3e
Begin impl block_producer in beacon chain tests 2019-01-24 11:51:48 +11:00
Paul Hauner
1256ba0d01
Implement very raw state transition logic 2019-01-23 19:25:05 +11:00
Paul Hauner
b555916808
Add slow LMD ghost implementation 2019-01-23 09:33:04 +11:00
Paul Hauner
1fabc7e0ab
Add Hash to beacon_block_store errors 2019-01-23 09:32:32 +11:00
Paul Hauner
bf2cd2331d
Fix dependencies after eth2 rename 2019-01-22 16:19:39 +11:00
Paul Hauner
eb4723fee5
Add sleep to beacon_node run loop 2019-01-22 15:18:02 +11:00
Paul Hauner
80e37f8d49
Merge branch 'master' into grpc-rs 2019-01-22 12:58:17 +11:00
Paul Hauner
992f2101c2
Add short ID to logging for BLS public keys 2019-01-22 09:05:34 +11:00
Paul Hauner
b8ba0cd698
Split out validator index gRPC call 2019-01-21 22:10:43 +11:00
Paul Hauner
24a27891b8 Run rustfmt on entire codebase
Signed-off-by: Paul Hauner <paul@paulhauner.com>
2019-01-21 18:42:21 +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