syntax = "proto3"; package ethereum.beacon.p2p.v1; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; message Hello { bytes fork_version = 1 [(gogoproto.moretags) = "ssz-size:\"4\""]; bytes finalized_root = 2 [(gogoproto.moretags) = "ssz-size:\"32\""]; uint64 finalized_epoch = 3; bytes head_root = 4 [(gogoproto.moretags) = "ssz-size:\"32\""]; uint64 head_slot = 5; } message Goodbye { Reason reason = 1; enum Reason { UNKNOWN = 0; CLIENT_SHUTDOWN = 1; IRRELEVANT_NETWORK = 2; GENERIC_ERROR = 3; reserved 4 to 127; } } message BeaconBlocksRequest { bytes head_block_root = 1 [(gogoproto.moretags) = "ssz-size:\"32\""]; uint64 head_slot = 2; uint64 count = 3; uint64 step = 4; } message ErrorMessage { string error_message = 1; }