2018-08-01 05:35:08 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package ethereum.beacon.rpc.v1;
|
|
|
|
|
|
|
|
import "proto/beacon/p2p/v1/messages.proto";
|
2018-08-09 22:54:59 +00:00
|
|
|
import "google/protobuf/empty.proto";
|
2018-09-05 03:35:32 +00:00
|
|
|
import "google/protobuf/timestamp.proto";
|
2018-08-01 05:35:08 +00:00
|
|
|
|
|
|
|
service BeaconService {
|
2018-08-09 22:54:59 +00:00
|
|
|
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);
|
2018-09-16 01:12:36 +00:00
|
|
|
rpc LatestAttestation(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.AggregatedAttestation);
|
2018-08-09 22:54:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
service AttesterService {
|
2018-09-11 17:08:31 +00:00
|
|
|
rpc AttestHead(AttestRequest) returns (AttestResponse);
|
2018-08-09 22:54:59 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
service ProposerService {
|
2018-08-01 05:35:08 +00:00
|
|
|
rpc ProposeBlock(ProposeRequest) returns (ProposeResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
message ShuffleRequest {
|
2018-08-09 22:54:59 +00:00
|
|
|
bytes crystallized_state_hash = 1;
|
2018-08-01 05:35:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message ShuffleResponse {
|
2018-08-09 22:54:59 +00:00
|
|
|
repeated uint64 shuffled_validator_indices = 1;
|
|
|
|
repeated uint64 cutoff_indices = 2;
|
2018-09-01 16:01:53 +00:00
|
|
|
repeated uint64 assigned_attestation_slots = 3;
|
2018-08-01 05:35:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message ProposeRequest {
|
2018-09-05 03:35:32 +00:00
|
|
|
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;
|
2018-08-01 05:35:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message ProposeResponse {
|
|
|
|
bytes block_hash = 1;
|
|
|
|
}
|
|
|
|
|
2018-09-11 17:08:31 +00:00
|
|
|
message AttestRequest {
|
2018-09-15 14:51:17 +00:00
|
|
|
ethereum.beacon.p2p.v1.AggregatedAttestation attestation = 1;
|
2018-08-01 05:35:08 +00:00
|
|
|
}
|
|
|
|
|
2018-09-11 17:08:31 +00:00
|
|
|
message AttestResponse {
|
|
|
|
bytes attestation_hash = 1;
|
2018-09-05 03:35:32 +00:00
|
|
|
}
|