LXMF mesh networking for React Native + Expo, powered by a Rust core.
Built by anonme.sh
Expo module wrapping a Rust implementation of LXMF over Reticulum. Runs on Android and iOS. Supports BLE mesh, TCP transport and RNode, and peer-to-peer encrypted messaging, no internet required.
npm install @magicred-1/react-native-lxmfRequires a custom dev client — not compatible with Expo Go.
import { useLxmf, LxmfNodeMode } from '@magicred-1/react-native-lxmf';
const { start, stop, send, status, beacons, events } = useLxmf({
identityHex: 'new',
lxmfAddressHex: 'new',
mode: LxmfNodeMode.BleOnly,
});| Mode | Value | Description |
|---|---|---|
BleOnly |
0 | BLE mesh only |
TcpClient |
1 | TCP client to remote node |
TcpServer |
2 | TCP server |
Reticulum |
3 | Full Reticulum stack via local rnsd |
ReticulumAndBle |
4 | Full Reticulum stack + BLE mesh |
Add to app.json to auto-configure BLE permissions:
{
"expo": {
"plugins": ["@magicred-1/react-native-lxmf"]
}
}React Native (TypeScript)
↓ useLxmf() hook
Expo Module (Swift / Kotlin)
↓ C FFI / JNI
Rust — rns-transport + LXMF
↓
BLE / TCP mesh / RNode (LoRa support via external hardware)
github.com/magicred-1/react-native-lxmf