- RNS identity: X25519 (encryption, rweather Curve25519) + Ed25519 (signing, orlp) keypairs, persisted in NVS; public_key = X25519pub || Ed25519pub - dest hash = SHA256(name_hash || SHA256(pubkey)[:16])[:16] for "archy.messh" - ANNOUNCE packet: [flags 0x01][hops 0][dest_hash 16][context 0][pubkey 64 + name_hash 10 + random_hash 10 + Ed25519 sig 64 + app_data]; sig covers dest_hash||pubkey||name_hash||random_hash||app_data (no ratchet) - periodic auto-announce on the R window - VERIFIED byte-valid against the real RNS 1.3.5 library: Identity.validate accepts the signature and the dest hash matches (cross-validated offline; no RNode hardware available to test on-air) All three networks now transmit: meshTastic text, MeshCore advert+DM, RNS announce. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
archy-messh
Research + firmware project exploring a single LoRa device that can speak, relay, and repeat between three independent mesh networking protocols:
- Meshtastic
- MeshCore
- Reticulum (via RNode-style modem firmware)
Goal: one ESP32-based device that acts as a tri-protocol repeater/bridge —
not a fork of any single project, and not affiliated with or dependent on
the archy (Archipelago) codebase. This repo is intentionally standalone.
Status
Architecture phase done — see docs/ARCHITECTURE.md for the protocol
research, hardware constraints (target: Heltec WiFi LoRa 32 V3), and
phased plan. Phase 0 (host-side bridge across 3 separate stock-firmware
boards) is written — see host-bridge/ — but not yet hardware-tested; no
LoRa boards have been attached to the dev machine this was written on.
Layout
docs/— protocol research notes and architecture/design docshost-bridge/— Phase 0: Python bridge relaying text between real Meshtastic/MeshCore/RNode-Reticulum boards over each project's official client protocolfirmware/— Phase 1+ embedded firmware (once Phase 0 is validated on hardware)hardware/— reference hardware notes / board selection
Non-goals (for now)
- Not reimplementing any of the three protocols from scratch in v1
- Not targeting non-ESP32 hardware initially
- Not touching/depending on the
archy(Archipelago) repo in any way
Description