prysm-pulse/proto/beacon/rpc/v1/services.proto
Raul Jordan ee91be2c4a
validator: Implementing Partial Implementation of Proposer Responsibility (#441)
* implementing basic proposer functionality

* checked in gomocks

* fix typo

* refactor using feeds

* use event feeds for assignment

* sending the latest beacon block over announcement chan

* 100 coverage, using feeds

* gazelle

* include parent hash from prev canonical block and slot number + 1

* including all other prop fields

* fix build

* proposer rpc method tests, implemented in beacon chain side

* godoc
2018-09-04 23:35:32 -04:00

55 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.beacon.rpc.v1;
import "proto/sharding/p2p/v1/messages.proto";
import "proto/beacon/p2p/v1/messages.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
service BeaconService {
rpc LatestBeaconBlock(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.BeaconBlock);
rpc LatestCrystallizedState(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.CrystallizedState);
rpc FetchShuffledValidatorIndices(ShuffleRequest) returns (ShuffleResponse);
}
service AttesterService {
rpc SignBlock(SignRequest) returns (SignResponse);
}
service ProposerService {
rpc ProposeBlock(ProposeRequest) returns (ProposeResponse);
}
message ShuffleRequest {
bytes crystallized_state_hash = 1;
}
message ShuffleResponse {
repeated uint64 shuffled_validator_indices = 1;
repeated uint64 cutoff_indices = 2;
repeated uint64 assigned_attestation_slots = 3;
}
message ProposeRequest {
bytes parent_hash = 1;
uint64 slot_number = 2;
bytes randao_reveal = 3;
bytes attestation_bitmask = 4;
repeated uint32 attestation_aggregate_sig = 5;
google.protobuf.Timestamp timestamp = 6;
}
message ProposeResponse {
bytes block_hash = 1;
}
message SignRequest {
bytes block_hash = 1;
ethereum.sharding.p2p.v1.Signature signature = 2;
}
message SignResponse {
bool signed = 1;
}