Skip to content
brady@bangasser:~$

RelayService

package zrp.relay.v1

Discovery, health, and lifecycle for the P2P relays. A client uses ListRelays to find relays to connect to; relays call Register/Deregister to join and leave; operators use Health, Stats, and WatchStats to observe them.

Methods

MethodTypeRequestResponse
ListRelaysunarygoogle.protobuf.EmptyRelayListResponse
Healthunarygoogle.protobuf.EmptyHealthResponse
Statsunarygoogle.protobuf.EmptyStatsResponse
WatchStatsserver streamingWatchStatsRequeststream StatsResponse
RegisterunaryRegisterRequestgoogle.protobuf.Empty
DeregisterunaryDeregisterRequestgoogle.protobuf.Empty

Messages

RelayInfo

FieldType#Notes
multiaddrstring1libp2p multiaddr.
peer_idstring2Relay peer id.
meshesrepeated string3Gossipsub meshes served.
regionstring4Deployment region.
loaduint325Current load indicator.
registered_atuint646Unix seconds.
portuint327Relay port.

RelayListResponse

FieldType#Notes
relaysrepeated RelayInfo1Known relays.
refresh_after_secsuint642Advised re-fetch interval.

HealthResponse

FieldType#Notes
statusHealthStatus1HEALTHY / DEGRADED / UNHEALTHY.
peer_idstring2Relay peer id.
uptime_secondsuint643Process uptime.
meshesrepeated string4Meshes served.
versionstring5Build version.

RelayStats

FieldType#Notes
connected_peersuint321
active_reservationsuint322
messages_relayeduint643
bytes_relayeduint644
gossipsub_peersuint325
peers_per_meshmap<string, uint32>6Peers per gossipsub mesh.
kademlia_peersuint327
cpu_usagefloat8
memory_bytesuint649
uptime_secondsuint6410

StatsResponse

FieldType#Notes
currentRelayStats1Latest snapshot.
historyrepeated RelayStats2Recent snapshots.
snapshot_interval_secsuint643Snapshot cadence.

RegisterRequest { RelayInfo info = 1; } - DeregisterRequest { string peer_id = 1; } - WatchStatsRequest { uint64 interval_secs = 1; }

HealthStatus enum: HEALTHY = 0, DEGRADED = 1, UNHEALTHY = 2.

Example

grpcurl -plaintext controller-host:9001 zrp.relay.v1.RelayService/ListRelays
grpcurl -plaintext -d '{"interval_secs":5}' \
  controller-host:9001 zrp.relay.v1.RelayService/WatchStats   # streams StatsResponse