Skip to content

Repository files navigation

rsLXMFLite

CI Rust 1.87+ License: AGPL-3.0-or-later

LXMF in Rust for microcontrollers.

lxmf-lite-core constructs and validates LXMF messages without allocation or std. It adapts the codec from rsLXMF and uses rsReticulumLite for Reticulum cryptography and identity handling.

Scope

The codec builds messages for single-packet (opportunistic) delivery or delivery over Links and Resources. It validates incoming messages against the sender's key and intended recipient, and supports current and retained destination ratchets.

Incoming message fields can be read; builders currently emit empty fields. Your firmware supplies identities, entropy, timestamps and buffers, and handles routing, Link sessions, Resource transfers, storage and retries. This crate does not run a propagation node or generate stamps, and does not support compression.

Build and test

Install Rust through rustup; the repository selects Rust 1.87 and the bare-metal check targets. These repositories must be siblings:

git clone https://github.com/ratspeak/rsLXMFLite.git
git clone https://github.com/ratspeak/rsReticulumLite.git
git clone https://github.com/ratspeak/rsLXMF.git
git clone https://github.com/ratspeak/rsReticulum.git
cd rsLXMFLite
for refs in RNS_LITE_REF TRUSTED_REF; do
  while read -r repository revision; do
    git -C "../$repository" checkout --detach "$revision"
  done < "$refs"
done
./scripts/test-matrix.sh

The full Rust repositories are test references, not firmware dependencies. The matrix runs host tests, ARM/RISC-V checks, Clippy, rustdoc and byte-level compatibility tests against those references.

For a firmware project alongside the two Lite checkouts:

[dependencies]
rns-lite-core = { path = "../rsReticulumLite" }
lxmf-lite-core = { path = "../rsLXMFLite" }

Keep both source revisions pinned in your build. RNS_LITE_REF records the rsReticulumLite revision used here; TRUSTED_REF records the test references. The crates are distributed from source, not crates.io.

See the Link-message example. Build API documentation with cargo doc --workspace --no-deps --open.

License

AGPL-3.0-or-later.

About

Embedded no_std LXMF core for constrained devices

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages