mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-19 13:58:28 +00:00
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.
This commit is contained in:
46
protos/src/services.proto
Normal file
46
protos/src/services.proto
Normal file
@@ -0,0 +1,46 @@
|
||||
// TODO: This setup requires that the BN (beacon node) holds the block in state
|
||||
// during the interval between the `GenerateProposalRequest` and the
|
||||
// `SubmitProposalRequest`.
|
||||
//
|
||||
// This is sub-optimal as if a validator client switches BN during this process
|
||||
// the block will be lost.
|
||||
//
|
||||
// This "stateful" method is being used presently because it's easier and
|
||||
// requires less maintainence as the `BeaconBlock` definition changes.
|
||||
|
||||
syntax = "proto3";
|
||||
|
||||
package ethereum.beacon.rpc.v1;
|
||||
|
||||
service BeaconBlockService {
|
||||
rpc ProduceBeaconBlock(ProduceBeaconBlockRequest) returns (ProduceBeaconBlockResponse);
|
||||
rpc PublishBeaconBlock(PublishBeaconBlockRequest) returns (PublishBeaconBlockResponse);
|
||||
}
|
||||
|
||||
message BeaconBlock {
|
||||
uint64 slot = 1;
|
||||
bytes block_root = 2;
|
||||
bytes randao_reveal = 3;
|
||||
bytes signature = 4;
|
||||
}
|
||||
|
||||
// Validator requests an unsigned proposal.
|
||||
message ProduceBeaconBlockRequest {
|
||||
uint64 slot = 1;
|
||||
}
|
||||
|
||||
// Beacon node returns an unsigned proposal.
|
||||
message ProduceBeaconBlockResponse {
|
||||
BeaconBlock block = 1;
|
||||
}
|
||||
|
||||
// Validator submits a signed proposal.
|
||||
message PublishBeaconBlockRequest {
|
||||
BeaconBlock block = 1;
|
||||
}
|
||||
|
||||
// Beacon node indicates a sucessfully submitted proposal.
|
||||
message PublishBeaconBlockResponse {
|
||||
bool success = 1;
|
||||
bytes msg = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user