Luke Anderson
934cb5af5f
Merge branch 'master' into testnet-key-load
2019-05-06 11:13:16 +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
Luke Anderson
3ad40dac9b
Fixed *all* cargo fmt
2019-04-08 15:39:26 +10:00
Luke Anderson
177a351462
Added deterministic keypair generation.
...
- The Account Manager has a new subcommand, allowing generation of deterministic keys given a particular validator index.
- Split functionality in generate_deterministic_keypair function
- Fixed up READMEs to reflect new functionality & correct naming.
2019-04-08 15:02:11 +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
Age Manning
3f160d3b99
Correct bootnodes cli parameter
2019-04-01 16:29:11 +11:00
Age Manning
c85da612f6
Remove debugging statements
2019-03-31 15:35:54 +11:00
Age Manning
33473892f2
Validator client fixes. Hack fix for genesis start time
2019-03-31 14:26:58 +11:00
Age Manning
ee693fb3e3
Add committe_len to gRPC parameters
2019-03-31 00:34:35 +11:00
Age Manning
9a6ecc4665
Add clippy suggestions
2019-03-30 19:58:19 +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
Age Manning
e1befe9d3a
Adds attestation producer to the validation client
2019-03-30 18:46:06 +11:00
Age Manning
d12ddae247
Builds attestation grpc implemention
2019-03-30 18:14:04 +11:00
Age Manning
145cabc427
Build validator client AttestationProducer
2019-03-30 17:56:43 +11:00
Age Manning
a952acb86f
Add committee_len to attestation data
2019-03-30 17:20:33 +11:00
Age Manning
bb8938c564
Use AttestationDuty in epoch duties
2019-03-30 17:14:38 +11:00
Age Manning
c107ebf9aa
Initial implementation of AttestationProducer
2019-03-30 17:06:43 +11:00
Age Manning
25d1ddfbb0
Renames BeaconBlockNode to BeaconNodeBlock for future consistency
2019-03-30 16:34:43 +11:00
Age Manning
6e254551af
Implement produce beacon block on gRPC beacon node server
2019-03-30 15:58:31 +11:00
Age Manning
ba90901730
Referenced signer passed to block producer
2019-03-30 14:48:43 +11:00
Age Manning
deb0abd4a8
Restores display for validator keys
2019-03-30 14:28:42 +11:00
Age Manning
d3a6d73153
Implements Signer generic for validator client and epoch duties
2019-03-30 14:27:37 +11:00
Age Manning
ba771282fa
Merges in validator client branch
2019-03-30 13:17:24 +11:00
Age Manning
97bb61371c
Correct compiler issues, re-introduce validator library
2019-03-30 12:14:56 +11:00
Age Manning
e418cd1183
Refactor main validator service
2019-03-29 23:45:53 +11:00
Age Manning
9cdb7bb716
Restructure of validator client service and block producer
2019-03-29 17:28:07 +11:00
Age Manning
eea772de3e
Implement block producer for validator client
2019-03-29 16:33:27 +11:00
Age Manning
f8201edddd
Initial layout of beacon block production
2019-03-29 14:52:08 +11:00
Kirk Baird
023b4e8c92
Merge master and remove ssz length encoding from FakeBLS
2019-03-29 11:47:22 +11:00
Age Manning
aa29a66fac
Add node chain-id validation for validation client
2019-03-29 10:49:43 +11:00
Age Manning
68b33620c2
Implement Display and clean validator output
2019-03-29 02:23:03 +11:00
Age Manning
405ea619e2
Clean up validator output
2019-03-29 00:45:39 +11:00
Luke Anderson
6c8abd8990
Fixed merge conflict fail.
2019-03-29 00:02:41 +11:00
Luke Anderson
367fbbc1c5
Merging master, fixing conflicts.
2019-03-28 23:57:06 +11:00
Luke Anderson
87acaac8a0
Ran cargo fmt.
2019-03-28 21:01:47 +11:00
Luke Anderson
867af4bc6a
Made the 'signers' an Arc, so that things compile.
2019-03-28 21:00:38 +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
Luke Anderson
9f92026fe2
rustfmt fix.
2019-03-28 19:52:36 +11:00
Luke Anderson
18998f3dc8
Fixing merge conflict, having keys generated deterministically for testing.
2019-03-28 19:08:33 +11:00
Luke Anderson
6937da0994
Added deterministic key generation for testing purposes.
2019-03-28 18:58:00 +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
Luke Anderson
bda381a264
More progress towards getting the attester working.
2019-03-28 09:38:39 +11:00
Age Manning
d3af95d1eb
Returns attestation duty for validator client processing
2019-03-27 22:41:55 +11:00
Age Manning
75195bbbf4
Implement work finding logic in validator client
2019-03-27 22:22:51 +11:00
Age Manning
a315e9da49
Rename fields in validator client EpochDuties
2019-03-27 21:36:06 +11:00
Age Manning
cde049df1f
Adds RwLock to EpochDuty
2019-03-27 19:52:05 +11:00
Age Manning
46181408ba
Epoch duties update
2019-03-27 19:47:08 +11:00
Age Manning
bc8ec51fe5
Update EpochDuty RPC and core functionality
2019-03-27 15:41:51 +11:00
Luke Anderson
c9a7977d69
Renamed some functions, trying to get beaconnode attestation stuff to work.
2019-03-27 14:30:09 +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
7c31c052f3
Temp commit - Re-building validator RPC API
2019-03-26 15:59:00 +11:00
Paul Hauner
00b546e6b8
Update slot clock to use genesis slot
2019-03-26 15:44:28 +11:00
Kirk Baird
116d995960
Merge current master and fix ssz-fuzzing
2019-03-26 14:53:50 +11:00
Paul Hauner
d4fecd8a84
Set GRPC block to be just SSZ
2019-03-26 12:32:38 +11:00
Age Manning
ffb3d94355
Wrap the duty manager in a future for its own thread
2019-03-26 11:59:48 +11:00
Age Manning
33d0f29221
Remove old tests
2019-03-26 11:33:24 +11:00
Age Manning
a82a5311ee
Merge branch 'validator_client' of github.com:sigp/lighthouse into validator_client
2019-03-25 18:58:42 +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
a8a3f1c318
Removes duty manager service in favour of tokio timer
2019-03-25 18:03:23 +11:00
Age Manning
3ad18b4367
Adds manager duties to validator runtime
2019-03-25 17:47:23 +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
Age Manning
4fdb01e5f0
Correct slot duration interval timer
2019-03-25 15:10:26 +11:00
Age Manning
209614e373
Merge pull request #295 from sigp/validator-updates
...
Persisting (random) Validator Keys
2019-03-25 14:40:11 +11:00
Age Manning
18493a4df4
Adds microsecond duration to validator client
2019-03-24 09:24:50 +11:00
Luke Anderson
cc208670b2
Fixed formatting with rustfmt.
2019-03-23 15:52:17 +11:00
Luke Anderson
fba916a0d8
Updated validator config according to suggestions.
...
- Directory structure changed slightly
- Uses a filter_map instead of a for loop.
- All errors reading files does not prevent others from being read.
- The accounts manager needs to generate files first, with the same structure.
2019-03-23 15:46:51 +11:00
Age Manning
56d33d2e26
Basic tokio slot stream implementation
2019-03-23 11:48:36 +11:00
Age Manning
318d6a976e
Initial tokio timer interval
2019-03-23 00:36:48 +11:00
Age Manning
547a750d78
Setup basic structure before tokio runtime addition
2019-03-22 23:21:26 +11:00
Age Manning
17cd5bb991
Adds genesis time to node info. Closes #256
2019-03-22 23:01:10 +11:00
Age Manning
61fc946d54
Adds initial connection to beacon node with retries
2019-03-22 22:50:16 +11:00
Age Manning
c4454289d6
Initial implementation of validator service
2019-03-22 17:27:07 +11:00
Age Manning
b2cd771a42
Shift argument passing into config module
2019-03-22 17:04:55 +11:00
Age Manning
4990569f68
Add BeaconNodeInfo RPC to validator client
2019-03-22 16:48:25 +11:00
Age Manning
a4cfe68272
Thread beacon node RPC server
2019-03-22 16:46:52 +11:00
Age Manning
6d0ad99358
Merge @thojest validator client to branch.
2019-03-22 11:54:24 +11:00
Luke Anderson
9e47cb56e7
Fixed code appearance with rustfmt.
2019-03-20 16:27:58 +11:00
Luke Anderson
49f6e7ac65
Moved configuration around for validator client.
...
- Custom datadir/server argument logic moved into configuration, out of main.
- Updated the validator config directory structure, as per issue #253 suggestions
- Removed the 'generate 3 random keys' function
- Updated the README to reflect new structure
- Just exit if there are no keys, don't generate any (this is for accounts_manager, in a separate commit).
- Created a lib.rs file, so that the validator client configuration can be included by external crates.
2019-03-20 16:23:33 +11:00
thojest
d8099ae00c
started implementing BeaconNode for AttestationGrpcClient; included correct epoch_map for instantiation of Attester (lighthouse-255)
2019-03-18 21:19:44 +01: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
919a15de22
Ensure validator client compiles under v0.5.0
2019-03-17 19:21:19 +11:00
thojest
2215aa4b46
added protos specification for Attester and created first draft for attestation_grpc_client (lighthouse-255)
2019-03-15 11:44:39 +01:00
Paul Hauner
f9964ebd8b
Update Fork struct to v0.5.0
2019-03-15 13:33:45 +11:00
Luke Anderson
b000a0972e
Minor updates to Paul's comments.
...
- Bubbled up home_dir not found error
- Made comment show up in docs
2019-03-13 13:38:28 +11:00
Luke Anderson
e942d7533b
A first go at persisting validator keys and handling configuration. Addresses issue #253 .
...
- Creates a keystore directory in the config
- Fetches serialized keys from the keystore directory
- If no keys, generates keys randomly, saves serialized keys to keystore dir.
2019-03-12 21:56:45 +11:00
thojest
8f3530f60c
created attester_service and started to create an attester_thread in main of validator_client (lighthouse-255)
2019-03-08 13:48:33 +01: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
93ce7b59e7
Merge branch 'master' into v0.4.0-types
2019-03-07 12:03:27 +11:00