Distributed Asynchronous Packet Pub-Sub. An asynchronous messaging overlay for packet-radio networks: applications queue messages destined for app@CALLSIGN, DAPPS finds a path, delivers when it can. Real-time connectivity is not a goal - think of it as packet mail for application developers, with proper delivery semantics and a modern app interface (MQTT or REST).
A DAPPS node is a small daemon you run alongside your packet node (BPQ today; MeshCore and RHPv2 in flight). It exposes:
- An app interface - local applications publish and subscribe over MQTT (or REST). They name their destination as
app@CALLSIGNand DAPPS handles routing, forwarding, fragmenting, retrying, and acking. - A backhaul - DAPPS opens sessions to other DAPPS nodes (over AGW today) to move messages towards their destination, hop by hop, with TTL.
Bearer-agnostic by design: anything that exposes an AGW-compatible session bearer works the same way, and once RHPv2 lands in mainstream BPQ it'll plug in alongside.
The full operator and developer manual is at https://packet-net.github.io/dapps/.
It covers:
- Getting started - 10-minute install-to-message tour.
- Install - Linux/systemd, Docker, Windows, macOS.
- Connect a node - BPQ via AGW and XRouter via RHPv2 supported today; MeshCore in flight.
- Configure, Run, Tune - every operator knob, what each background loop does, what to leave alone.
- Discovery & routing, Operate, Update - the day-to-day surfaces.
- MCP for assistants - let an AI assistant drive the operator surface.
- App developers - concepts, hello-world tutorial, full reference, sample gallery.
- Troubleshooting and Glossary.
The roadmap and engineering notes (including the design discussion behind the bearer seam, MeshCore-as-backhaul tradeoffs, etc.) live in plan.md and docs/ in this repo.
Three sim scripts in scripts/ layer on top of each other from cheapest to most realistic - DAPPS-on-loopback over UDP multicast, real BPQ + XRouter over AX.25-over-UDP partner links, and real BPQ + XRouter over real KISS framing into a simulated RF channel (FM capture, collisions, hidden terminals, multi-band paths, multi-hop AX.25 chains via connect-scripts). See docs-internal/simulators.md for the topology of each, what they validate, and the bring-up nuances captured during the diagnosis runs.
To all at OARC who participated in the RFC, helping take this from a rough idea to a workable system.