Federation Handshake
The lab handshake introduces two nodes and registers them in the demo registry. This is not a production federation protocol.
Endpoints (lab)
Node info
`/api/v1/node/info`
Handshake
`/api/v1/federation/handshake`
Registry
`/api/v1/federation/nodes`
Sample handshake
{
"@context": "https://local-loop-io.github.io/projects/loop-protocol/contexts/loop-v0.2.0.jsonld",
"@type": "NodeHandshake",
"schema_version": "0.2.0",
"node_id": "munich.loop",
"name": "DEMO Munich Node",
"endpoint": "https://demo-munich.loop/api",
"capabilities": ["material-registry", "lab-relay"],
"timestamp": "2025-12-20T10:00:00Z"
}Federation Handshake (Lab Only)
This document defines a lab-only handshake payload used to introduce two LOOP nodes in a controlled demo environment. It does not represent production federation.
Goals
- Exchange minimal node metadata.
- Confirm protocol version compatibility.
- Establish a lab-only trust acknowledgement.
Handshake request
Schema: schemas/handshake.schema.json (NodeHandshake).
Required fields:
node_id(e.g.,munich.loop)endpoint(lab API URL)capabilities(string array)timestamp(ISO 8601)
Handshake response
Schema: schemas/handshake.schema.json (NodeHandshakeResponse).
Required fields:
status(acceptedorrejected)peer_idreceived_atlab_only: true
Security notes (lab stage)
- Request signatures are optional placeholders.
- Mutual TLS and request signing are planned for later TRL stages.