-
Notifications
You must be signed in to change notification settings - Fork 0
Interoperability
TamTunnel edited this page Jan 4, 2026
·
1 revision
This guide describes how to build a SpaceComms-compatible node in any programming language.
To interoperate with the SpaceComms reference implementation, a node MUST:
- Transport: Support HTTP/2 over TLS 1.3.
- Protocol: Implement the v1.0 specification.
- Serialization: Parse and generate JSON messages adhering to the schemas.
-
Handshake: Perform the
HELLOexchange and negotiate protocol version.
| Endpoint | Description |
|---|---|
/spacecomms/v1/messages |
Main receiver for all protocol messages |
Required to establish a session.
{
"protocol_version": "1.0",
"message_id": "msg-hello-001",
"message_type": "HELLO",
"payload": {
"node_name": "Python Implementation Node",
"capabilities": ["CDM", "OBJECT_STATE"],
"supported_versions": ["1.0", "1.1"],
"protocol_version": "1.0"
}
}Propagating a Conjunction Data Message.
{
"protocol_version": "1.0",
"message_id": "msg-cdm-123",
"message_type": "CDM_ANNOUNCE",
"payload": {
"cdm": {
"cdm_id": "CDM-2024-TEST",
"originator": "TEST-PROVIDER",
"tca": "2024-01-16T12:00:00.000Z",
"collision_probability": 0.001
}
}
}-
Run Reference Node:
cargo run -- start --config examples/config.yaml -
Point Your Node: Configure your implementation to peer with
http://localhost:8080. -
Verify Checklist:
- Handshake Success (HK received)
- Heartbeat (Periodic pings)
- CDM Exchange (Bidirectional)
| Level | Role | Capabilities |
|---|---|---|
| Level 0 | Observer | Read-only; subscribes to data. |
| Level 1 | Producer/Consumer | Originate/forward messages, basic routing. |
| Level 2 | Full Node | Full routing logic, policy enforcement, mTLS. |