prysm-pulse/proto/beacon/rpc/v1/services.proto
Nishant Das cddae7a306
Implement RPC Messaging Between Validators (#475)
* Adding Proto files

* Move to shared package

* adding attestation sub

* gazelle

* attestation check

* proposal finished

* Add in attesters responsibilities

* fixing dependency issues

* adding topics

* refactoring tests

* Adding more tests

* adding more changes

* gazelle

* removing attester p2p

* remove mock

* changing to new proposer model

* changing tests

* making changes

* gazelle

* adding gomock

* adding rpc methods, reverting changes to other proto files

* gazelle and test changes

* adding tests

* adding mocks and tests

* gazelle

* fixing merge issues

* lint

* lint
2018-09-16 09:12:36 +08:00

54 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package ethereum.beacon.rpc.v1;
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);
rpc LatestAttestation(google.protobuf.Empty) returns (stream ethereum.beacon.p2p.v1.AggregatedAttestation);
}
service AttesterService {
rpc AttestHead(AttestRequest) returns (AttestResponse);
}
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 AttestRequest {
ethereum.beacon.p2p.v1.AggregatedAttestation attestation = 1;
}
message AttestResponse {
bytes attestation_hash = 1;
}