Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

LXMF Protocol Specification

This appendix is an exact, English specification of the LXMF messaging protocol, derived from and proven against the vendored Python reference (vendor/LXMF, v0.9.6, commit 8499729) running on Reticulum (vendor/Reticulum, RNS 1.3.5, commit d5e62d4). It is the contract the libreticulum lxmf crate is built and tested against.

LXMF (Lightweight Extensible Message Format) is the store-and-forward messaging layer of Reticulum. It defines how a message is structured, signed, encrypted, sized, and delivered (opportunistically as a single packet, directly over a link, via a propagation node, or on paper), plus the anti-spam stamp and ticket mechanisms. It moves opaque bytes over Reticulum primitives; it carries no media processing of its own.

How to read this specification

  • Normative statements use RFC 2119 keywords (MUST, SHOULD, MAY) and specify behaviour an interoperable implementation has to reproduce. Every normative fact carries either a file:line citation into the reference, a derivation with the arithmetic shown, or a labelled test vector [VEC-...].
  • Informative sections describe internal reference behaviour (router scheduling, queues, persistence) that an implementation MAY diverge from without breaking wire or semantic compatibility.
  • Test vectors are the genuine byte output of the reference, regenerated by vectors/gen_vectors.py and pinned to the submodule commits. A citation proves “the code says this”; a vector proves “these are the bytes”.

Sections