Paul Hauner
3487b16ce5
Add eth2_config
crate, integrate into val client
2019-06-08 20:21:50 -04:00
Paul Hauner
eb23b003b4
Ensure beacon node generates the right eth2 spec
2019-06-08 17:53:22 -04:00
Paul Hauner
d8fc5f31d8
Add Eth2Config to runtime
2019-06-08 13:17:03 -04:00
Paul Hauner
fd6766c268
Tidy beacon node runtime code
2019-06-08 09:46:04 -04:00
Paul Hauner
749f2fcb5f
Unify EthSpecs in Mainnet
and Minimal
2019-06-08 08:49:04 -04:00
Paul Hauner
caddeba81b
Remove genesis_epoch
from ChainSpec
2019-06-08 08:17:42 -04:00
Paul Hauner
e74d49fc8a
Remove dupe info between ChainSpec and EthSpec
2019-06-08 07:57:25 -04:00
Paul Hauner
f69d9093a3
Add concept of beacon node configuration TOML
2019-06-07 21:00:34 -04:00
Paul Hauner
e73a31c37f
Refactor ClientConfig, add serde to it
2019-06-07 19:44:27 -04:00
Paul Hauner
39ec96ad82
Run rustfmt
2019-06-07 02:55:43 -04:00
Paul Hauner
719dd72de6
Fix recently introduced sync bugs
2019-06-07 02:55:16 -04:00
Paul Hauner
4cecf05198
Fix beacon chain block iters
2019-06-07 02:48:26 -04:00
Paul Hauner
591c8ae219
Reject re-processing the genesis block
2019-06-07 02:48:08 -04:00
Paul Hauner
c975828195
Merge branch 'rpc-fix' into docker-env
2019-06-06 09:51:48 -04:00
Paul Hauner
1707aa5bf3
Fix bug in RPC wire encoding
...
I broke this in a previous commit.
2019-06-06 09:47:21 -04:00
Paul Hauner
af96dd08c8
Simplify simple_sync
code
2019-06-06 00:32:09 -04:00
Paul Hauner
f52d66a136
Fix bug in rev block iter
2019-06-06 00:31:18 -04:00
Paul Hauner
ed9f655877
Update BeaconChain
iters
2019-06-06 00:28:36 -04:00
Paul Hauner
df366f99dc
Add block iter to beacon chain
2019-06-05 13:33:32 +10:00
Paul Hauner
8ab1d28c9f
Fix attestation processing metrics
2019-06-04 17:10:25 +10:00
Paul Hauner
f4b4709999
Publish attestations from RPC to P2P
2019-06-04 16:33:35 +10:00
Paul Hauner
f95711c15a
Add present_epoch metric
2019-06-04 15:04:05 +10:00
Paul Hauner
67fdb4a7fb
Store beacon state committee cache in DB
2019-06-04 13:13:58 +10:00
Paul Hauner
f530f5a848
Ensure committees are built for block processing
2019-06-04 13:13:38 +10:00
Paul Hauner
82202a7765
Update components to suit v0.6.1 API
2019-06-04 09:37:40 +10:00
Paul Hauner
39cb63e01e
Merge branch 'v0.6.1' into docker-env
2019-06-04 09:25:00 +10:00
Michael Sproul
6bde64bd6a
spec v0.6: update beacon_node, validator_client
2019-06-03 16:13:51 +10:00
Paul Hauner
e310bdd904
Merge branch 'master' into v0.6.1
2019-06-02 13:49:24 +10:00
Paul Hauner
997095fc43
Add attestations per block metric
2019-06-01 15:29:13 +10:00
Paul Hauner
244ffbc604
Store genesis root in beacon chain, fix fork bug
2019-06-01 15:02:19 +10:00
Paul Hauner
29c5f297a6
Add database size metric
2019-06-01 14:43:08 +10:00
Paul Hauner
c8ba44b0b5
Create db-level alias for genesis block
2019-06-01 12:56:35 +10:00
Paul Hauner
8831db1e0f
Fix recently introduced errors for gRPC block prod
2019-06-01 12:36:10 +10:00
Paul Hauner
7058f62b50
Add extra validator balances metric
2019-06-01 08:26:25 +10:00
Paul Hauner
b33b5c28b4
Add additional metrics for BeaconChain
2019-05-31 18:13:35 +10:00
Paul Hauner
5b425c9bf3
Switch runtime fork choice to optimized
2019-05-31 17:53:52 +10:00
Paul Hauner
08bf5817c9
Update fork choice to take just. head
2019-05-31 17:51:32 +10:00
Paul Hauner
2f9f8bf772
Tidy BeaconChain
; del spec
, unify head updates
2019-05-31 17:32:20 +10:00
Paul Hauner
8acffcc0db
Make some BeaconChain
functions private
2019-05-30 18:38:41 +10:00
Paul Hauner
5a5eebca06
Remove BeaconChain
wrapper trait from rpc
2019-05-30 18:35:27 +10:00
Paul Hauner
0590504261
Remove BeaconChain
wrapper trait from network
2019-05-30 18:27:19 +10:00
Paul Hauner
f44170cab1
Add process metrics to http-server
2019-05-30 12:36:27 +10:00
Paul Hauner
4851d8be03
Fix some metrics labels
2019-05-29 18:09:51 +10:00
Paul Hauner
42b6e0c8a9
Run fork-choice after every block import
2019-05-29 17:55:38 +10:00
Paul Hauner
0b719e1523
Break store
fns into smaller pieces
2019-05-29 17:53:13 +10:00
Paul Hauner
9f1039a350
Add metrics to BeaconChain
, tidy fork choice
2019-05-29 17:52:43 +10:00
Paul Hauner
64fbc6bf3c
Add additional metrics to BeaconChain
2019-05-29 15:45:09 +10:00
Paul Hauner
a153f24bfa
Fix duplicate metric label
2019-05-29 14:21:34 +10:00
Paul Hauner
f89cb65360
Add best_slot
metric
2019-05-29 13:55:17 +10:00
Paul Hauner
6d27c43666
Fix bug with metrics scraping
2019-05-28 18:05:52 +10:00
Paul Hauner
345f7d5f18
Add global metrics registry, pass to BeaconState
2019-05-28 17:30:09 +10:00
Paul Hauner
e756a0aaa4
Add extra metrics for prom
2019-05-28 16:11:16 +10:00
Paul Hauner
3e73a008eb
Add constant for testnet validator count
2019-05-28 16:10:52 +10:00
Paul Hauner
cb11656e12
Use LighthouseTestnet
params, not FewValidators
2019-05-28 14:33:13 +10:00
Paul Hauner
3f27fd4edf
Parse http CLI args for HTTP server
2019-05-28 13:50:51 +10:00
Paul Hauner
2a04da8bf7
Switch HTTP listen port to 5052
...
This is a quick-fix to allow gRPC and HTTP to co-exist. In the future I
think we should swap this back to 5051.
2019-05-28 12:45:48 +10:00
Paul Hauner
21ecaddac1
Fix various clippy lints
2019-05-28 10:56:05 +10:00
Paul Hauner
6e5e1721f7
Fix lints introduced in Rust 1.35
2019-05-28 10:46:01 +10:00
Paul Hauner
b28fa3d20b
Save the BeaconChain
to store on state update
2019-05-27 17:58:15 +10:00
Paul Hauner
faa682a9b5
Implement saving BeaconChain
on client drop
2019-05-27 17:58:15 +10:00
Paul Hauner
9ed8a4d380
Implement basic BeaconChain
persistence.
2019-05-27 17:58:15 +10:00
Paul Hauner
76602a65fc
Add new
fns to ForkChoice
and SlotClock
2019-05-27 17:58:15 +10:00
Paul Hauner
9922ed2239
Merge pull request #391 from sigp/http
...
Add iron HTTP server
2019-05-27 17:36:58 +10:00
Paul Hauner
ed4d7aa44a
Replace http_server
unwrap with 500 error
2019-05-27 17:09:16 +10:00
Paul Hauner
3a65f84b12
Improve comments for http_server
2019-05-27 12:56:09 +10:00
Paul Hauner
255590ef3b
Add node/fork
endpoint to HTTP API, tidy
2019-05-27 11:34:22 +10:00
Paul Hauner
705edf0e45
Remove commented-out code
2019-05-27 09:01:50 +10:00
Paul Hauner
855222fa28
Rename prom HTTP endpoint
2019-05-26 15:59:52 +10:00
Paul Hauner
ee8d13573f
Create BeaconChainTypes
, thread through runtime
2019-05-26 15:59:29 +10:00
Paul Hauner
45e3a1759c
Add slot to prometheus endpoint
2019-05-25 17:57:07 +10:00
Paul Hauner
85211ebccd
Add basic prometheus endpoint
2019-05-25 17:25:21 +10:00
Paul Hauner
596ff5178b
Add http server shutdown, tidy
2019-05-25 16:17:48 +10:00
Paul Hauner
8dd07dd7d2
Add http server to beacon node w/ hello world
2019-05-25 14:31:13 +10:00
Matthew Slipper
95c218355e
Support multiple bootnodes
2019-05-23 18:27:35 -07:00
Paul Hauner
b41f91db1d
Rename disk db dir
2019-05-21 19:32:07 +10:00
Paul Hauner
c840b76cac
Tidy store
crate, add comments
2019-05-21 18:49:24 +10:00
Paul Hauner
3bcf5ba706
Rename db
crate to store
2019-05-21 18:20:23 +10:00
Paul Hauner
b62f4477e1
More project-wide fixes for new DB
2019-05-21 17:45:35 +10:00
Paul Hauner
058829b64d
Update beacon_chain
to latest DB
2019-05-21 17:27:06 +10:00
Paul Hauner
78368cc2cd
Make LevelDB key type concrete (not generic)
2019-05-21 16:49:56 +10:00
Paul Hauner
54f28df5b1
Improve testing for Store
impls
2019-05-21 16:37:15 +10:00
Paul Hauner
b3a94de086
Remove unnecessary RwLock from LevelDB
2019-05-21 16:36:06 +10:00
Paul Hauner
7d067926dd
Replace RocksDB with LevelDB
2019-05-21 16:29:34 +10:00
Paul Hauner
f1584dada4
Update BeaconChain struct to use new store
2019-05-21 13:36:14 +10:00
Paul Hauner
f8c425d6b4
Fix and add tests for db get block at slot
2019-05-21 12:58:11 +10:00
Paul Hauner
182135b832
Remove old DB crates, start fixing fork_choice
2019-05-20 18:01:51 +10:00
Paul Hauner
658b425cce
Merge branch 'master' into disk-db
2019-05-20 16:56:04 +10:00
Paul Hauner
6660311b2b
Rename EpochCache
to CommitteeCache
2019-05-20 14:36:54 +10:00
Paul Hauner
8222ac17cf
Merge branch 'master' into sos
2019-05-13 15:17:56 +10:00
Paul Hauner
a0148b5aae
Rename SSZ traits (Encodable -> Encode)
2019-05-13 15:12:19 +10:00
Paul Hauner
fcabef91da
Use E
for EthSpec
trait, instead of B
2019-05-13 14:44:43 +10:00
Paul Hauner
40c6be294b
Fix warnings in rpc
2019-05-13 12:33:46 +10:00
Paul Hauner
eb62b5842d
Update beacon node crates for new SSZ
2019-05-13 12:07:32 +10:00
Paul Hauner
d9bfbc2657
Add macros for easy SSZ impl via From trait
2019-05-13 09:25:37 +10:00
Paul Hauner
8d3ef273a7
Fix db
crate so it compiles under new ssz
2019-05-10 16:53:53 +10:00
Paul Hauner
3ef46c03d1
Merge branch 'fixed-vec' into sos
2019-05-10 15:27:21 +10:00
Paul Hauner
ce8ebeccbc
Rename BeaconStateTypes
to EthSpec
2019-05-10 14:47:09 +10:00
Paul Hauner
2a938f2fd5
Fix clippy lints
2019-05-09 13:35:00 +10:00
Paul Hauner
0ac278f44d
Update validator_client
for BeaconStateTypes
2019-05-09 12:19:52 +10:00
Paul Hauner
49c92ef167
Remove attester, block_producer & test_harness
2019-05-09 11:48:14 +10:00
Paul Hauner
4c0c93f0c9
Update beacon_node
to work w/ BeaconStateTypes
2019-05-09 09:40:32 +10:00
Paul Hauner
42b7aa89d4
Update network
and rpc
to BeaconStateTypes
2019-05-08 19:38:18 +10:00
Paul Hauner
51dc97ee42
Allow fork_choice
and beacon_chain
to compile
2019-05-08 18:18:17 +10:00
Paul Hauner
ae09a00090
Update db
crate for new BeaconStateTypes
2019-05-08 17:06:39 +10:00
Paul Hauner
759d0250c5
Clean out some occurances of SszStream
2019-05-06 19:50:05 +10:00
Paul Hauner
cf8a24c2bd
Add enc/decode traits to store
2019-05-01 14:29:03 +10:00
Paul Hauner
157d4900aa
Rename DB traits
2019-05-01 11:59:18 +10:00
Paul Hauner
85266f8db0
Trim db2 down to basic new parts
2019-05-01 11:42:18 +10:00
Paul Hauner
05df7702d3
Merge branch 'master' into disk-db
2019-04-30 16:02:23 +10:00
Paul Hauner
a76b24e274
Disable running docs example for test harness
2019-04-25 12:25:01 +10:00
Paul Hauner
2527252248
Merge branch 'master' into 0.5.1-tests
2019-04-17 21:21:07 +10:00
Michael Sproul
32547373e5
spec: simplify cache_state
...
The `latest_block_root` input argument was unnecessary as we were always setting it to something
almost equivalent to `state.latest_block_root` anyway, and more importantly, it was messing up the
caching of the state root. Previously it was possible for the function to update the state's latest
block root, and then hash the outdated block root that was passed in as an argument.
2019-04-17 12:00:23 +10:00
Paul Hauner
f69b56ad60
Add new tree_hash
crate project wide.
2019-04-16 14:25:43 +10:00
Paul Hauner
b8c4c3308a
Update types
to new tree_hash crate
2019-04-16 14:14:38 +10:00
Paul Hauner
89bc15f77e
Move some long-running tests to release-only
2019-04-15 09:59:35 +10:00
Paul Hauner
1913be0c6f
Fix clippy lints
2019-04-03 16:23:09 +11:00
Paul Hauner
3fe7dd80e2
Merge branch 'validator-enhancements' into testnet-client
2019-04-02 14:29:43 +11:00
Paul Hauner
206f651895
Merge pull request #293 from michaelsproul/operation-pool
...
Implement Operation Pool
2019-04-02 13:53:22 +11:00
Paul Hauner
d6664cb4ac
Implement all methods on Store
2019-04-02 13:41:04 +11:00
Age Manning
3f160d3b99
Correct bootnodes cli parameter
2019-04-01 16:29:11 +11:00
Age Manning
8e5829c0ba
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-04-01 15:53:51 +11:00
Paul Hauner
5e80b90301
Extend queue stale time, queue more blocks
2019-04-01 15:51:48 +11:00
Age Manning
4fec387047
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-04-01 15:40:33 +11:00
Paul Hauner
a7df4f1800
Add log when block not processed in queue
2019-04-01 15:38:22 +11:00
Age Manning
d84f95fe8a
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-04-01 15:33:42 +11:00
Paul Hauner
a3ca3ec50d
Break block proc. loop if we get a bad block
2019-04-01 15:32:04 +11:00
Age Manning
c117659b2d
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-04-01 15:25:49 +11:00
Paul Hauner
111c81f428
Add ParentUnknown block processing to SimpleSync
2019-04-01 15:23:38 +11:00
Paul Hauner
ebe47a5b34
Add Store
and db_encode_derive
.
...
Implementation is not complete, but what is here works.
2019-04-01 14:56:32 +11:00
Age Manning
9f8850d0a1
Adds bootnode CLI parameter
2019-04-01 12:14:44 +11:00
Age Manning
170f993032
Clean up warnings
2019-04-01 12:14:23 +11:00
Paul Hauner
b03dfdce59
Fix genesis time issue, add logs
2019-04-01 08:59:59 +11:00
Paul Hauner
f4bd46fe66
Fix rocks db startup issues
2019-03-31 19:16:45 +11:00
Paul Hauner
08b1808745
Modify runtime to allow memory or disk db
...
DiskDB is not working yet, but we'll get there!
2019-03-31 18:57:48 +11:00
Paul Hauner
9a0ebac687
Merge branch 'validator-enhancements' into paul-gossip-test
2019-03-31 17:47:35 +11:00
Paul Hauner
a93f898946
Improve gossipsub block processing
2019-03-31 17:27:04 +11:00
Paul Hauner
c596e3f7d7
Change log levels of gossipsub events
2019-03-31 17:26:28 +11:00
Age Manning
e0b5e74e7c
Removes further unneccessary debug output
2019-03-31 15:48:11 +11:00
Age Manning
f03259991d
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-03-31 15:37:23 +11:00
Age Manning
c85da612f6
Remove debugging statements
2019-03-31 15:35:54 +11:00
Paul Hauner
c6fc4f0769
Fix bug in attestation production
2019-03-31 15:35:27 +11:00
Age Manning
33473892f2
Validator client fixes. Hack fix for genesis start time
2019-03-31 14:26:58 +11:00
Age Manning
b4c21ccca3
Merge remote-tracking branch 'origin/paul-gossip-test' into validator-enhancements
2019-03-31 13:58:38 +11:00
Paul Hauner
b26f1f8e1c
Add build_all_caches
method to BeaconState
...
Also adds a few more cache builds in BeaconChain.
2019-03-31 13:42:49 +11:00
Age Manning
ae8e470d21
Add patch for attestation crosslinks
2019-03-31 13:06:01 +11:00
Paul Hauner
4e71ed6972
Fix produce_attestation
bug.
...
It was referencing the wrong crosslink.
2019-03-31 12:54:42 +11:00
Paul Hauner
2c1fa86cd3
Swap to gossiping whole block.
...
Processing for gossiped blocks is broken in `SimpleSync`, will be fixed
next.
2019-03-31 12:28:35 +11:00
Age Manning
e0680f9771
Correct compile error
2019-03-31 11:04:50 +11:00
Age Manning
77fb738c78
Merge latest gossip branch
2019-03-31 11:02:57 +11:00
Paul Hauner
c99a742aae
Fix bug in SimpleSync queue.
...
It was not completing partials with bodies.
2019-03-31 10:15:42 +11:00
Paul Hauner
5cc2fdd3d4
Change beacon_node
and network
slog features
...
Allows printing debug messages in --release
2019-03-31 10:15:01 +11:00
Paul Hauner
d2b5cf5a32
Improve queueing in SimpleSync
2019-03-31 09:44:58 +11:00
Age Manning
ee693fb3e3
Add committe_len to gRPC parameters
2019-03-31 00:34:35 +11:00
Age Manning
4fb95d06d1
Correct cache race condition
2019-03-31 00:08:55 +11:00
Age Manning
51ffbc07d2
Correct attestation error handling
2019-03-30 19:48:45 +11:00
Age Manning
fc5142c09a
Registers the attester service to the beacon node RPC client
2019-03-30 19:32:32 +11:00
Paul Hauner
65ae8fda47
Remove old attestation aggregator
2019-03-30 19:15:15 +11:00
Paul Hauner
935c64deef
Adds attestation validation to SimpleSync
2019-03-30 19:11:52 +11:00
Age Manning
d8fd7c8803
Implement beacon node side of attestation production gRPC
2019-03-30 18:36:38 +11:00
Paul Hauner
c2b6f949c0
Restrict blop pool from re-including attestations
2019-03-30 18:25:32 +11:00
Paul Hauner
64507950dd
Use committe_len in test_harness
2019-03-30 17:31:58 +11:00
Age Manning
a952acb86f
Add committee_len to attestation data
2019-03-30 17:20:33 +11:00
Paul Hauner
dbcc88ad67
Ensure BitVec is initialized using a multiple of 8
...
I found it was panic-ing when supplied a non-power-of-zero len.
2019-03-30 17:13:23 +11:00
Paul Hauner
7b3f317abf
Fix bug with attestation production
...
It was being produced with the wrong source root. I will raise an issue
on the spec as it's a tricky one.
2019-03-30 17:12:43 +11:00
Age Manning
bc305cacc2
Merge branch 'blop-pool' into validator-enhancements
2019-03-30 16:16:30 +11:00
Paul Hauner
397e104f9b
Implement Attestation
building in test harness
2019-03-30 16:02:09 +11:00
Age Manning
6e254551af
Implement produce beacon block on gRPC beacon node server
2019-03-30 15:58:31 +11:00
Age Manning
ba771282fa
Merges in validator client branch
2019-03-30 13:17:24 +11:00
Paul Hauner
89cc92572a
Add test_harness
tests for attestation count
2019-03-30 13:03:05 +11:00
Paul Hauner
cd9494181c
Push RwLock down into OperationPool
...
There used to be one massive lock on `BeaconChain.op_pool`, however that
would cause unnecessary blocking.
2019-03-30 12:26:25 +11:00
Paul Hauner
1840248af8
Remove old queues from BeaconChain
2019-03-30 12:00:31 +11:00
Paul Hauner
8bf7a83f37
Rename op processing methods on BeaconChain
2019-03-29 19:09:01 +11:00
Paul Hauner
2b53851062
Pass errors back from block ops processing
2019-03-29 18:54:01 +11:00
Paul Hauner
8b1a91e9ee
Add process_attestation
to BeaconChain
2019-03-29 18:40:50 +11:00
Paul Hauner
46a978a5a9
Implement op pool for all ops execpt attestations
2019-03-29 18:30:03 +11:00
Kirk Baird
023b4e8c92
Merge master and remove ssz length encoding from FakeBLS
2019-03-29 11:47:22 +11:00
Luke Anderson
be592c86d1
Started migrating FreeAttestation to Attestation in the harnesses - doesn't compile yet.
2019-03-29 10:39:37 +11:00
Luke Anderson
87acaac8a0
Ran cargo fmt.
2019-03-28 21:01:47 +11:00
Luke Anderson
ba71e8adca
Merged age-validator-client into luke's changes on validator_client, and fixed all the merge conflicts.
2019-03-28 20:55:07 +11:00
Age Manning
2a2660ce62
Cleanup debug issues, corrects RPC server logic
2019-03-28 17:24:49 +11:00
Age Manning
cc4ccd4017
Corrects read/write race condition
2019-03-28 17:16:43 +11:00
Luke Anderson
c9e8fe53bc
Merged Age's changes and ripped out heaps of now obsolete stuff in the validator client.
...
- Replaced most instances of PublicKey with KeyPair, since they need to be passed into each validator thread now.
- Pulled out a bunch of FreeAttestations, and replaced with regular Attestations (as per Paul's suggestion)
- Started generalising pubkeys to 'signers' (though they are still just Keypairs)
- Added validator_index into a few structs where relevant
- Removed the SlotClock and DutiesReader from the BlockProducer and Attester services, since this logic is now abstracted to the higher level process.
- Added a Hash trait to the Keypair (rather than just pubkey) which assumes the Pubkey uniquely defines it.
2019-03-28 15:50:57 +11:00
Age Manning
6f0c0e47c3
Update Validator RPC and cache building
2019-03-28 14:32:02 +11:00
Age Manning
d7289ab55e
Add gossip-test branch
2019-03-28 14:31:35 +11:00
Age Manning
4caaf82892
Correct validator get duties RPC server logic
2019-03-28 13:14:41 +11:00
Age Manning
086ebb1485
Fix beacon node rpc compilation issues
2019-03-27 21:32:53 +11:00
Age Manning
1f437a3e7b
Implements RPC Server side of epoch duties
2019-03-27 21:08:28 +11:00
Luke Anderson
16706d322f
Merge remote-tracking branch 'origin/master' into validator_client-luke_wip
2019-03-27 19:10:36 +11:00
Luke Anderson
c9a7977d69
Renamed some functions, trying to get beaconnode attestation stuff to work.
2019-03-27 14:30:09 +11:00
Paul Hauner
12936e73a7
Set gossip logs to info
2019-03-27 12:57:05 +11:00
Paul Hauner
c52da489cb
Merge branch 'master' into paul-gossip-test
2019-03-27 11:26:06 +11:00
Paul Hauner
f18941a01c
Block client startup until state is ready
2019-03-27 11:25:15 +11:00
Paul Hauner
b006586d19
Add slot timer to beacon node
2019-03-27 10:36:20 +11:00
Paul Hauner
c82bad7602
Add cache builds when advancing chain slot
2019-03-27 10:34:52 +11:00
Paul Hauner
c27fdbe37f
Try to load keys from file when starting client
2019-03-27 10:28:27 +11:00
Luke Anderson
1584469b7c
Renamed attestation -> attestation_data for fetch, but not publish, to acknowledge the difference in the spec. Also started implementing the gRPC get_attestation_data functionality in the BeaconNode.
2019-03-26 17:41:43 +11:00
Age Manning
96ccd58414
Merge branch 'libp2p-patch'
2019-03-26 16:49:43 +11:00
Kirk Baird
e12ce2bd5c
Merge branch 'master' into yaml-test-downloads
2019-03-26 16:47:24 +11:00
Age Manning
507c8efbfb
Update to latest gossipsub
2019-03-26 16:38:50 +11:00
Paul Hauner
7cba9f4126
Merge branch 'master' into paul-gossip-test
2019-03-26 16:09:47 +11:00
Paul Hauner
00b546e6b8
Update slot clock to use genesis slot
2019-03-26 15:44:28 +11:00
Paul Hauner
0768d24ffc
Add untested block processing from GRPC
2019-03-26 15:26:05 +11:00
Age Manning
6955330f6c
Merge branch 'libp2p-patch'
2019-03-26 15:14:29 +11:00
Age Manning
b2ae54043c
Fix libp2p version to specific commit
2019-03-26 15:06:41 +11:00
Paul Hauner
3756d8d681
Rename proto NodeInfo -> NodeInfoResponse
2019-03-26 15:04:39 +11:00
Age Manning
5b40152873
Update to latest libp2p and gossipsub
2019-03-26 15:01:05 +11:00
Kirk Baird
116d995960
Merge current master and fix ssz-fuzzing
2019-03-26 14:53:50 +11:00
Paul Hauner
e702896bee
Fix ssz decoding bug
2019-03-26 13:28:21 +11:00
Paul Hauner
56c9a29593
Add logging
2019-03-26 13:28:01 +11:00
Paul Hauner
d4fecd8a84
Set GRPC block to be just SSZ
2019-03-26 12:32:38 +11:00
Paul Hauner
ca1eaf0b53
Merge branch 'paul-gossip-test' of github.com:sigp/lighthouse into paul-gossip-test
2019-03-26 09:47:38 +11:00
Paul Hauner
a145824c51
Set BeaconChainHarness to return block
...
This is useful if you want to inspect the block.
2019-03-26 09:46:26 +11:00
Age Manning
f7131c2f87
Fix compile issues and modify type names
2019-03-25 23:39:39 +11:00
Age Manning
52b31b2009
Implement initial pubsub message handling
2019-03-25 23:02:51 +11:00
Age Manning
05369df7e8
Add PubsubMessage and publish function to behaviour
2019-03-25 22:00:11 +11:00
Age Manning
214fb5b8ff
Merge RPC branch
2019-03-25 21:31:49 +11:00
Paul Hauner
098e63ac32
Move gossip structs into behaviour
2019-03-25 18:59:50 +11:00
Luke Anderson
c7ba3faae0
Merge branch 'validator_client' of github.com:sigp/lighthouse into validator_client
2019-03-25 18:32:42 +11:00
Luke Anderson
4cdeb6abe5
Progress towards validator signing attestations.
...
- Added a 'beacon_attester' RPC endpoint, so the BeaconNode can supply attestation data.
- Renamed 'attestation_data' to just 'attestation' throughout (except where it is actually just the data structure).
2019-03-25 18:32:27 +11:00
Age Manning
02039be400
Fix merge conflicts
2019-03-25 17:46:08 +11:00
Luke Anderson
2f49289c28
Merged master and fixed merge conflicts with Config updates.
2019-03-25 17:03:17 +11:00
Age Manning
ca9af49d4e
Adds error handling to validator client service
2019-03-25 16:50:15 +11:00
Paul Hauner
32a025bdf7
Introduced RequestId
newtype
2019-03-25 16:48:44 +11:00
Paul Hauner
ebb9ced0a4
Improve peer status handling
2019-03-25 15:30:46 +11:00
Paul Hauner
708d9b5674
Add basic Gossip sync handlers
2019-03-25 14:27:20 +11:00
Paul Hauner
267477ffc2
Fix typo from previous commit
2019-03-24 18:37:23 +11:00
Paul Hauner
755a09d164
Move ImportQueue into own file
2019-03-24 18:34:44 +11:00
Paul Hauner
ee07efb9e9
Add comments to SimpleSync
2019-03-24 18:31:03 +11:00
Paul Hauner
07b6f70842
Ignore syncing tests (they run too long)
2019-03-24 17:58:30 +11:00
Paul Hauner
796b68dc04
Implement Goodbye and BeaconState msg handlers
2019-03-24 17:51:32 +11:00
Paul Hauner
f918f42b28
Merge branch 'master' into paul-sync
2019-03-24 16:36:18 +11:00
Paul Hauner
3dc5595a6f
Fix last errors stopping full chain sync
2019-03-24 16:35:07 +11:00
Paul Hauner
1ea9959632
Fix bug with block processing in sync
2019-03-24 15:18:21 +11:00
Paul Hauner
5f4f67f46f
Swap ImportQueue from a Map to a Vec
...
There's an edge case where different blocks can have the same block
body.
2019-03-24 14:22:12 +11:00
Paul Hauner
15f853416b
Add more detail to sync logs
2019-03-24 13:59:27 +11:00
Paul Hauner
840738ea12
Tidy logging, fix bug with stale time in queue
2019-03-24 13:06:17 +11:00
Paul Hauner
6b39c693af
Extend syncing
2019-03-24 12:50:23 +11:00
Paul Hauner
3eae7b3fc5
Add skip slot support to BeaconChain fns
2019-03-24 12:49:59 +11:00
Paul Hauner
a57a7c2394
Implement block imports for sync
2019-03-23 18:48:09 +11:00
Paul Hauner
4b5b5851a6
Allow sync to to request block bodies.
2019-03-23 13:23:44 +11:00
Age Manning
17cd5bb991
Adds genesis time to node info. Closes #256
2019-03-22 23:01:10 +11:00
Age Manning
a1a5f29caa
Fix registering of node service
2019-03-22 16:56:54 +11:00
Age Manning
a4cfe68272
Thread beacon node RPC server
2019-03-22 16:46:52 +11:00
Paul Hauner
96ba1c8f77
Implement get_block_roots
for syncing
2019-03-22 14:20:49 +11:00
Age Manning
858cf4f1f4
Add beacon_chain trait for gRPC server
2019-03-22 13:51:17 +11:00
Age Manning
ee6a0ccb92
Initial build of server-side BeaconNodeService RPC
2019-03-22 13:37:24 +11:00
Age Manning
844fdc0fb9
Rename network_id to chain_id
2019-03-22 12:39:45 +11:00
Paul Hauner
f96a3282b5
Pass first sync test
2019-03-22 11:39:16 +11:00
Paul Hauner
4fc6e435d2
Add type alias to test_harness
2019-03-22 11:38:57 +11:00
Paul Hauner
7a75ee3d19
Merge branch 'master' into paul-sync
2019-03-22 07:11:04 +11:00
Paul Hauner
f3c81cda99
Implement hello responses.
2019-03-21 18:21:50 +11:00
Paul Hauner
430702b38d
Clean println's out of state processing
2019-03-21 18:21:26 +11:00
Paul Hauner
ca18d4390a
Add first changes to syncing logic
...
- Adds testing framework
- Breaks out new `NetworkContext` object
2019-03-21 17:17:01 +11:00
Age Manning
84f0ad2ae7
Add Ping protocol to lighthouse
2019-03-21 13:42:02 +11:00
Age Manning
7f976124df
Add logging to libp2p behaviour
2019-03-21 13:34:37 +11:00
Age Manning
71dca8af36
Correct user agent string
2019-03-21 13:28:34 +11:00
Age Manning
13ac5b1d25
Tidy network poll and implement Identify
2019-03-21 13:15:14 +11:00
Age Manning
35815ce786
Cleans up swarm poll and adds identify behaviour
2019-03-21 12:57:41 +11:00
Age Manning
67a3dfe052
Remove node private key from config
2019-03-21 12:45:23 +11:00
Age Manning
7ec37939c8
Adds Identify protocol and cleans up network config
2019-03-21 12:41:05 +11:00
Age Manning
437a0505c9
Implement encodeable on all RPC methods
2019-03-21 11:25:22 +11:00
Age Manning
950186eca7
Implement BeaconChainState RPC method
2019-03-21 11:18:47 +11:00
Age Manning
3063d5eac9
Implement BeaconBlockBodies RPC method
2019-03-21 11:16:09 +11:00
Age Manning
56cd77ead8
Implement BeaconBlockHeaders RPC method
2019-03-21 11:05:26 +11:00
Age Manning
766a79adfa
Implement BeaconBlockRoots RPC method
2019-03-21 11:02:52 +11:00
Age Manning
a14426349a
Implement Goodbye RPC call
2019-03-21 10:53:29 +11:00
Age Manning
3aa2b376bb
Increase RPC read/write limit to 4M
2019-03-21 10:43:21 +11:00
Age Manning
e080f63811
Rename libp2p to eth2-libp2p
2019-03-20 15:09:24 +11:00
Age Manning
7c7f81d188
Fix issue with merging v0.5.0
2019-03-20 14:36:09 +11:00
Age Manning
4310f35b73
Merge branch 'master' into network-server
2019-03-20 14:31:35 +11:00
Age Manning
4105b869e1
Fix all matches relating to new RPC methods
2019-03-20 10:54:19 +11:00
Paul Hauner
84f373fcc2
Fix clippy lints
2019-03-20 10:51:53 +11:00
Age Manning
9db36f15bf
Tidy RPC Methods
2019-03-20 10:47:05 +11:00
Age Manning
ae1a7a2a25
Implement BeaconChainState RPC method
2019-03-20 10:43:40 +11:00
Age Manning
fd04431d54
Implement BeaconBlockBody RPC method
2019-03-20 10:36:37 +11:00
Age Manning
8fa70f64ec
Implement BeaconBlockHeaders RPC method
2019-03-20 10:28:05 +11:00
Age Manning
450b2cfb81
Rename RequestBeaconBlockRoots to BeaconBlockRoots for consistency
2019-03-20 10:19:45 +11:00
Age Manning
8acfb260d1
Implement RequestBeaconBlockRoots RPC method
2019-03-20 10:18:04 +11:00
Age Manning
0e8b174770
Implement Goodbye libp2p rpc request
2019-03-20 10:05:17 +11:00
Age Manning
d229bc9ccb
Stub possible fields in HandlerMessage
2019-03-20 10:02:26 +11:00
Age Manning
4be2eeb792
Correct cli rpc parameters
2019-03-20 09:58:31 +11:00
Age Manning
037c3b8307
Update config and cli for rpc
2019-03-20 00:01:31 +11:00
Age Manning
d2f12b7c18
Add standard RPC service
2019-03-19 23:47:58 +11:00
Age Manning
4b57d32b60
Apply clippy suggestions
2019-03-19 23:20:39 +11:00
Age Manning
e7f87112fb
Tidy networking crates
2019-03-19 22:53:51 +11:00
Age Manning
dc014d07bc
Enable syncing state when new peer connects
2019-03-19 22:32:56 +11:00
Age Manning
0a8b0069dc
Add peer validation and successful handshake
2019-03-19 22:18:01 +11:00
Age Manning
b30d72501c
Add logger to sync module
2019-03-19 21:55:57 +11:00
Age Manning
6e10ce93d4
Tidy message handler
2019-03-19 21:44:52 +11:00
Age Manning
c0bc45f1f3
Implement node connection validation structure
2019-03-19 18:28:42 +11:00
Age Manning
752c784534
Initial handling of RPC HELLO requests
2019-03-19 14:40:08 +11:00
Age Manning
5ae8079b44
Basic node handshake
2019-03-19 13:25:25 +11:00
Age Manning
67c09021f0
Initial handling RPC responses
2019-03-19 13:03:12 +11:00
Age Manning
2657dc1465
Builds RPC infrastructure to handle RPC responses
2019-03-19 12:47:36 +11:00
Age Manning
31333e8f8e
Add send rpc in message handler
2019-03-19 12:19:07 +11:00
Age Manning
495348f934
Adds RPC request send framework in message handler
2019-03-19 11:25:42 +11:00
Age Manning
dfdec78a7a
Implements hello generation in sync module
2019-03-19 00:26:15 +11:00
Age Manning
41abdb7599
Remove sync crate, move into network crate
2019-03-19 00:05:06 +11:00
Age Manning
8ec0688cb9
Implements RPC call functionality
2019-03-18 23:34:44 +11:00
Age Manning
0625bb6b03
Add network channel into message handler
2019-03-18 23:18:25 +11:00
Age Manning
6a89da43b7
Cleanup network shutdown messages
2019-03-18 18:22:01 +11:00
Age Manning
66f09e1b8e
Updates network branch to v0.5.0
2019-03-18 18:17:37 +11:00
Kirk Baird
9cef6a5814
Finish implementing Darrens migrate-ssz-little-endian and add wrapper to check for ssz underflow
2019-03-18 18:11:46 +11:00
Paul Hauner
71d95ee9db
Add new field to test_harness YAML, remove prints
2019-03-18 18:08:53 +11:00
Age Manning
2d52d2954d
Modify testnet spec to have few validators
2019-03-18 17:45:40 +11:00
Age Manning
6b5debe654
Organize beacon_chain typing
...
- Implements ClientTypes
- New network BeaconChain type for the networking service
2019-03-18 17:38:23 +11:00
Paul Hauner
edeace9e75
Fix issues with building on genesis block
2019-03-18 16:53:59 +11:00
Age Manning
bbad4bfa19
Starts initialisation of beacon chain in the client
2019-03-18 16:16:54 +11:00
Age Manning
2e0c8e2e47
Handle peer dials and propagate to message handler
2019-03-17 23:14:28 +11:00
Paul Hauner
816c2c651b
Modify genesis processing process.
...
- Removed BeaconStateBuilder
- Added genesis code to `state_processing`.
2019-03-17 23:11:07 +11:00
Age Manning
9803ab30f2
Propagate RPC through network service.
...
- Basic network message handler threading
- Correct references
2019-03-17 21:49:56 +11:00
Paul Hauner
f71cab8ba2
Ensure project tests compile on v0.5.0
2019-03-17 19:28:29 +11:00
Paul Hauner
446ff0c27e
Ensure test_harness crate compiles under v0.5.0
2019-03-17 19:19:52 +11:00
Paul Hauner
6df5eee7f4
Update beacon_chain crate with v0.5.0 updates
2019-03-17 18:10:20 +11:00
Paul Hauner
8b08e9dd2e
Remove block and state readers from db crate
2019-03-17 17:54:43 +11:00
Age Manning
7370306366
Rename RPC reqeusts, correct RPC internals
2019-03-17 14:38:20 +11:00
Age Manning
2871ad5055
Correct listening addresses and associated log
2019-03-17 14:25:47 +11:00
Paul Hauner
f9964ebd8b
Update Fork struct to v0.5.0
2019-03-15 13:33:45 +11:00
Age Manning
7b6a653d05
Add RPC protocol to lh network behaviour.
2019-03-15 02:48:09 +11:00
Age Manning
24c7f180e2
Update rpc event handling.
2019-03-15 02:13:16 +11:00
Age Manning
c06e8ffa5b
Initial Libp2p RPC implementation.
2019-03-15 01:50:59 +11:00
Paul Hauner
8cc89b9820
Fix clippy warnings
2019-03-14 18:08:21 +11:00
Paul Hauner
2bfc8ed4da
Fix failing doc test
2019-03-14 18:08:09 +11:00
Paul Hauner
122916acdd
Merge branch 'master' into fix-test-harness
2019-03-14 18:01:57 +11:00
Paul Hauner
12214e7eed
Ignore long running DB test
2019-03-14 15:11:03 +11:00
Age Manning
23a8fbfc74
Add default topics and initial topic subscription
2019-03-13 15:39:32 +11:00
Age Manning
8ee3523abd
Transition to secp256k1 default peer id
2019-03-13 14:43:24 +11:00
Paul Hauner
6c4e457c8a
Fix test_harness tests
...
They were broken by changes to TestingBeaconStateBuilder and where the
keypairs file is stored.
2019-03-13 11:25:17 +11:00
Paul Hauner
2d2ba6576b
Remove old, superseded benches
2019-03-13 11:24:46 +11:00
Paul Hauner
f949919b9b
Add comments to epoch_processing
2019-03-12 18:02:53 +11:00
Paul Hauner
dc221f3220
Make attester/proposer slashing builders test-only
...
They didn't do anything useful or safe for production.
2019-03-12 17:30:00 +11:00
Age Manning
ae983a9347
Basic networking service with channel
2019-03-12 17:28:11 +11:00
Paul Hauner
efd56ebe37
Ignore file-exists error.
2019-03-12 14:42:31 +11:00
Paul Hauner
cce88c9923
Improve DX for loading validator keys from file
2019-03-12 14:39:16 +11:00
Paul Hauner
f34ae86cde
Add support for loading keypairs from file
2019-03-12 12:46:44 +11:00
Kirk Baird
25b08f0096
Run cargo fmt
2019-03-11 15:22:15 +11:00
Kirk Baird
191759dad0
Modify create_proof_of_possession, and verifying proof_of_possession in process_deposits
2019-03-11 15:18:45 +11:00
Kirk Baird
9c225936b6
Merge branch 'timing-report' of github.com:sigp/lighthouse into timing-report
...
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2019-03-11 11:55:41 +11:00
Kirk Baird
df52669888
Add changes of create_proof_of_possession to pull
2019-03-11 11:55:09 +11:00
Paul Hauner
41844841c6
Update project tests to use new genesis structure
2019-03-11 11:52:16 +11:00
Paul Hauner
a77d1885a1
Refactor BeaconStateBuilder
...
Made it a production-only struct. All the testing stuff can be done with
BeaconStateBencher
2019-03-09 10:39:05 +11:00
Paul Hauner
ddac7540bc
Allow test_harness to load validators from file.
2019-03-08 16:10:21 +11:00
Paul Hauner
4b21252ce4
Refactor BeaconChain and BeaconState genesis
...
Now it more easily supports using pre-build validator registries.
2019-03-08 15:33:45 +11:00
Paul Hauner
6efe2ad3e3
Add debug logs to test_harness prepare
2019-03-08 15:09:33 +11:00
Paul Hauner
e76b5e1c3a
Re-work deposit generation for memory efficiency
...
Helps ensure that variables are dropped after they're finished being
used.
2019-03-08 15:06:13 +11:00
Paul Hauner
ec9e0bbddf
Allow test_harness to load validators from file
...
Also adds a command to test_harness binary to generate validators
2019-03-08 13:18:02 +11:00
Age Manning
21032334ac
Adds bootnodes to chainspec. Handles type correctly
2019-03-08 12:15:57 +11:00
Age Manning
c5a7c62d5d
Updates to latest master.
2019-03-08 11:15:38 +11:00
Age Manning
3c51769428
Node listens on default port and connects to bootnodes.
2019-03-08 11:07:30 +11:00
Paul Hauner
b98f514d68
Break BeaconChainHarness validator gen into fn
...
Prepares for allowing for loading from file
2019-03-08 10:50:43 +11:00
Paul Hauner
9a964be58b
Update test_harness clap args structure
...
Prepares it for adding a new subcommand
2019-03-08 10:50:12 +11:00
Paul Hauner
60098a051d
Fix/silence clippy lints
2019-03-08 09:23:57 +11:00
Paul Hauner
1ef2652cac
Add transfer processing to BeaconChain
2019-03-07 17:23:11 +11:00
Age Manning
9f13731d6d
Implements a basic libp2p tcp,secio,mplex,gossipsub swarm.
2019-03-07 16:17:06 +11:00
Paul Hauner
195cb16a41
Update test_harness
for spec v0.4.0
2019-03-07 14:29:21 +11:00
Paul Hauner
db3b6cba6d
Introduce Fork
struct to block_producer
...
It's a pretty crappy solution, IMO. It shouldn't really belong in
"duties" but this gets the job done for now.
2019-03-07 13:54:56 +11:00
Paul Hauner
5a21e19a31
Fix all compile errors from v0.4.0 update
2019-03-07 12:53:15 +11:00
Paul Hauner
a4e604a41e
Update BeaconChain to spec v0.4.0
2019-03-07 12:25:29 +11:00
Paul Hauner
93ce7b59e7
Merge branch 'master' into v0.4.0-types
2019-03-07 12:03:27 +11:00
Age Manning
e8e4c4ab9b
Adds basic structure for swarm behaviour and topology.
2019-03-07 11:43:55 +11:00
Age Manning
ac639c6427
Add libp2p transport - tcp/ws/secio and multiplexing.
2019-03-06 23:31:08 +11:00
Michael Sproul
6253167cac
Update ethereum-types to 0.5
2019-03-06 10:08:35 +11:00
Michael Sproul
d519bc1388
Use cfg(test) for test macros
2019-03-05 17:29:08 +11:00
Age Manning
b68adc1ae3
Implement skeleton network/sync framework.
2019-03-04 18:31:01 +11:00
Paul Hauner
663d39739f
Do project-wide s/epoch_length/slots_per_epoch/g
2019-03-04 17:51:54 +11:00
Age Manning
3b8f29a914
[Temp Commit] Implements more basic skeleton code.
2019-03-04 16:39:37 +11:00
Paul Hauner
ef006bfb2c
Add Exit support to test_harness
2019-03-04 12:21:24 +11:00
Paul Hauner
f4d8b41a09
Add Exit inclusion queue to BeaconChain
2019-03-04 12:20:59 +11:00
Paul Hauner
bc4acd9a5c
Re-work module structure in test_harness
...
Obeys the standard where structs live in files with the same name
2019-03-04 09:43:19 +11:00
Paul Hauner
3aaa3ea024
Use clearer types in test_harness::Config
2019-03-04 09:30:09 +11:00
Age Manning
2e020a3efa
Implement the basic structure of the beacon node.
2019-03-03 18:28:12 +11:00
Paul Hauner
9d77f2b1a8
Add README to test_harness
2019-03-03 16:38:25 +11:00
Paul Hauner
697d1ef626
Add CLI option for log-level to test_harness
2019-03-03 16:15:00 +11:00
Paul Hauner
58002f68e1
Move test_harness yaml file
2019-03-03 16:14:40 +11:00
Paul Hauner
a29eca57a1
Rename test_harness::manifest to test_case
...
I thing `TestCase` is better than manifest -- a manifest is more of a
list of items than a series of steps and checks. Plus it conflicts with
a Cargo manifest.
2019-03-03 15:12:19 +11:00
Paul Hauner
48fc709109
Fix failing test
2019-03-03 15:08:13 +11:00
Paul Hauner
7b72934943
Add comments to test_harness::Manifest
2019-03-03 15:07:54 +11:00
Paul Hauner
1703508385
Add comments to new BeaconChainHarness
methods.
2019-03-03 12:02:58 +11:00
Paul Hauner
f5e4fe29d7
Add comments to new BeaconChain
methods
...
- Adds comments
- Also drops a message from `warn` down to `debug`. It was giving
warnings even on an Ok result.
2019-03-03 11:54:51 +11:00
Paul Hauner
ede5685bc2
Fix warnings and clippy lints
2019-03-03 11:47:09 +11:00
Paul Hauner
87feeea1fd
Remove merkle_index from test_harness YAML
...
IMO, this is an implementation detail that shouldn't be covered in these
tests.
2019-03-03 11:31:08 +11:00
Paul Hauner
a8c3b5fdd8
Update test_harness yaml
...
- Checks for attester slashing, now it is included in the chain.
- Renames suite to be more specific, use normal Eth2.0 naming
2019-03-03 11:19:27 +11:00
Paul Hauner
9156aa2203
Add info log when building test_harness chain dump
...
It helps people know why they're waiting
2019-03-02 20:20:06 +11:00
Paul Hauner
4db2f082e1
Add state-checks to test_harness YAML
...
Runs tests against a state at some slot
2019-03-02 20:17:14 +11:00
Paul Hauner
f5614381e1
Re-organise test_harness binary
...
Moves manifest and components into separate files.
2019-03-02 18:59:47 +11:00
Paul Hauner
db28cc1b92
Fix warnings in test_harness/src/bin.rs
2019-03-02 18:43:27 +11:00
Paul Hauner
e59404f463
Change test_harness proposer_slashings YAML
...
Removes a lot of the detail from the `proposer_slashings` field -- IMO
this is not necessary in the test spec, the details of how a
proposer_slashing is created should be held in the program and the spec
should only define that one happens.
2019-03-02 18:37:21 +11:00
Paul Hauner
bb4d392a98
Add AttestationSlashingBuilder
2019-03-02 16:05:45 +11:00
Paul Hauner
ff2783a1cb
Add AttesterSlashing to test_harness
...
- Adds methods to BeaconChainHarness
- Adds YAML parsing
2019-03-02 15:35:02 +11:00
Paul Hauner
c885e36a93
Add fn to BeaconChainHarness validator signing
...
Signs some message using the priv key of some validator
2019-03-02 15:30:50 +11:00
Paul Hauner
ec5581ce1d
Shorten test_harness YAML to single test
2019-03-02 15:28:01 +11:00
Paul Hauner
7f1e40a8c6
Add proposer slashing support to test_harness
...
Test harness will now add signatures to a ProposerSlashing and submit it
to the BeaconChain
2019-03-02 11:25:55 +11:00
Paul Hauner
fd819fb7ca
Set BeaconChain block propose failure log to warn
...
It think it's more suitable to a warn
2019-03-02 11:24:41 +11:00
Paul Hauner
1de723b275
Add proposer/attester slash queues to BeaconChain
...
Allows for storing and including AttesterSlashing and ProposerSlashing
objects in blocks.
2019-03-02 11:23:37 +11:00
Paul Hauner
b0403707eb
Add support for deposits to test_harness
2019-03-01 16:59:55 +11:00
Paul Hauner
c278c08e34
Remove unnecessary clone.
2019-03-01 16:57:24 +11:00
Paul Hauner
eeeff9ef02
Ensure chain-dumps come with earliest block first
...
Previously dump.first() was the latest block. IMO, this is
counter-intuitive
2019-03-01 16:56:52 +11:00
Paul Hauner
1097c8089b
Add naive deposit-handling to BeaconChain
2019-03-01 16:56:27 +11:00
Paul Hauner
1479013bd0
Add skip_slots to test_harness yaml processor
2019-03-01 13:28:07 +11:00
Paul Hauner
8b06fa31da
Add basic YAML test_harness tests
...
Works, however ignores a lot of fields in the YAML.
2019-02-28 23:13:00 +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
Paul Hauner
af17fb1d03
Update BeaconStateBuilder
API
2019-02-26 22:00:07 +13:00
Kirk Baird
4c3b0a6575
Formatting
2019-02-25 10:38:04 +11:00
Kirk Baird
f72b45147a
Merge conflicts from master
2019-02-25 10:36:54 +11:00
Paul Hauner
5ca7c9929a
Merge branch 'master' into beacon-state-caching
2019-02-24 19:14:05 +13:00
Paul Hauner
ab10cbbdb5
Fix clippy lints, small typos
2019-02-24 18:52:12 +13:00
Kirk Baird
9f9b466f95
Modify attestion_aggregation to use frok version in domain
2019-02-23 14:39:54 +11:00
Kirk Baird
a5cbda0b60
Merge branch 'master' into signature-scheme-update
2019-02-23 13:34:57 +11:00
Paul Hauner
a5de6a1915
Add caching to BeaconState.
...
Removes CachingBeaconState
2019-02-22 18:14:16 +13:00
Kirk Baird
673c8ea388
Merge current master
2019-02-20 13:59:11 +11:00
Age Manning
c7acde4fc2
Rename OptimisedLMDGhost to BitwiseLMDGhost.
2019-02-20 12:14:46 +11:00
Age Manning
b8411e7126
Merge branch 'master' into fork-choice-tests
2019-02-19 23:09:31 +11:00
Age Manning
846cbdd7f7
Generalise fork choice tests.
2019-02-19 14:37:17 +11:00
Feng94
7ed606eca1
Modify block_producer references in other crates where needed for compilation
2019-02-19 00:21:23 +11:00
Age Manning
4eddb47fd0
Updates all fork-choices to use ChainSpec for consts.
2019-02-18 17:49:05 +11:00
Kirk Baird
2c8aa17e0d
Merge branch 'master' into signature-scheme-update
2019-02-18 10:54:26 +11:00
Kirk Baird
9c4a1f1d1f
Update to signature-scheme 0.5.2
2019-02-18 10:50:40 +11:00
Paul Hauner
dc0696754b
Raise log level on test_harness tests
2019-02-17 20:23:31 +11:00
Paul Hauner
b0513b1ec1
Add and update logs
2019-02-16 15:08:33 +11:00
Paul Hauner
3b92b69028
Apply CachedBeaconState to some functions
...
- Attestation aggregation
- Getting attestation duties
2019-02-16 11:04:12 +11:00
Paul Hauner
7c920cfb96
Add incomplete progress on fixing test harness
2019-02-15 19:23:22 +11:00
Paul Hauner
4ddbb3197c
Merge branch 'master' into tidy-beacon-state
2019-02-15 16:30:51 +11:00
Paul Hauner
ec4a658fe7
Add beacon state test builder, tidy errors
2019-02-15 16:12:24 +11:00
Age Manning
94c8784523
Remove Slow LMD Ghost from test harness.
2019-02-15 14:17:22 +11:00
Kirk Baird
977f3edfb6
Add domain to all signature funcitons, modify validate_proof_of_possession()
2019-02-15 13:58:14 +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
d2a1000520
Fix clippy lints in beacon_chain
2019-02-13 10:28:38 +11:00
Paul Hauner
61bbbab33d
Fix clippy lints in lmd_ghost
2019-02-13 09:27:09 +11:00
Paul Hauner
05ed778ccc
Remove unused var from block_producer
...
It was made redundant when `proposer_slots` was removed.
2019-02-13 07:39:00 +11:00
Paul Hauner
5c1d0dcea5
Fix various clippy lints
2019-02-13 07:32:31 +11:00
Paul Hauner
5039001eba
Rename file to resolve clippy lint
...
Lint was "module inception"
2019-02-12 17:20:58 +11:00
Paul Hauner
9b14742e36
Update beacon_node bin to spec v0.2.0
2019-02-12 16:58:31 +11:00
Paul Hauner
12076bce76
Update test_harness to spec v0.2.0
2019-02-12 16:57:47 +11:00
Paul Hauner
5fefc79521
Update BeaconChain
for spec v0.2.0
2019-02-12 13:00:52 +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
85450ec254
Fix all compile errors from new Slot/Epoch types
2019-02-07 11:22:48 +11:00
Paul Hauner
9b1d8cd3c1
Update BeaconChain to use Slot newtype
2019-02-07 10:03:55 +11:00
Paul Hauner
e7e8c20fff
Update BeaconBlockStore to use Slot newtype
2019-02-07 09:54:26 +11:00
Paul Hauner
af50c28e0f
Improve naming consistency in test_harness
...
With respect to filenames. Especially removing Test.. prefixes
2019-02-05 16:22:07 +11:00
Paul Hauner
449312d95c
Set all test_harness tests to ignore
...
They were taking too long, we'll need to build a different build cycle
to cover these.
2019-02-05 12:29:08 +11:00
Paul Hauner
4008ec9b25
Re-org test_harness files for consistency
2019-02-05 05:49:53 +11:00
Paul Hauner
d83bafae10
Fix compiler errors from BeaconChain refactor.
...
I accidentally forgot to include this in the last commit, my bad!
2019-02-05 05:26:47 +11:00
Paul Hauner
c1ed5cd2d8
Refactor beacon_chain.
...
Moves all the `BeaconChain` impls into the same file that the struct is
defined in.
2019-02-05 05:08:40 +11:00
Paul Hauner
cb85fbcdb2
Tidy and add docstring to chain test harness.
2019-02-01 18:48:37 +11:00
Paul Hauner
4cc88c8cc7
Tidy benches
2019-02-01 18:22:43 +11:00
Paul Hauner
5ca53190b5
Add comments to beacon chain fork choice
2019-02-01 18:18:39 +11:00
Paul Hauner
865919e398
Improve attester errors, move info -> helpers
...
- Ensured one can distingush between a committee error and an invalid
validator index when using `validator_attesation_slot_and_shard`.
- Renamed the `info.rs` file to `getters.rs`, for clarity.
2019-02-01 17:56:49 +11:00
Paul Hauner
a71e1031ce
Add docstrings to finalized_head
2019-02-01 17:07:59 +11:00
Paul Hauner
b99e4ed9f4
Tidy slot_dump, remove SlotDump
, use CheckPoint
2019-02-01 17:04:25 +11:00
Paul Hauner
4d062d77f9
Move CheckPoint
into file, tidy canonical_head
2019-02-01 16:58:12 +11:00
Paul Hauner
942ef4b002
Move advance_slot
to its own file.
2019-02-01 16:30:42 +11:00
Paul Hauner
db230475d7
Remove SlotClock error from block production, tidy.
2019-02-01 16:21:18 +11:00
Paul Hauner
9d1f98ba8f
Delete SlotClock errs from block_processing, tidy.
2019-02-01 16:07:59 +11:00
Paul Hauner
1e6f85a5eb
Tidy BlockGraph, use parking_lot, add doc comments
2019-02-01 15:59:12 +11:00
Paul Hauner
d4757f2e09
Drop test repetitions down to 100
2019-02-01 15:39:30 +11:00
Paul Hauner
d50a8b03f8
Set BeaconChain present_slot
to read from state.
...
It used to read from the slot_clock, that has been replaced with
`read_slot_clock`.
2019-02-01 15:37:43 +11:00
Paul Hauner
92753fa24e
Tidy attestation_production and create docstrings
2019-02-01 15:26:36 +11:00
Paul Hauner
2ed5f69448
Tidy attestation_processing, add docstrings.
2019-02-01 15:19:50 +11:00
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