I've mentioned this on the forum a few times, but now that it is actually partially functional, I think it deserves its own thread:
reticulum-js is a new JavaScript implementation of the Reticulum network stack:
https://reticulum.js.org/
Available on rngit:
rns://adafb3153efd4d96d532568a5208b3b5/reticulum/reticulum-js
and also mirrored to GitHub:
https://github.com/bergie/reticulum-js
What works now:
- TCP and WebSocket interfaces
- LXMF messaging both direct and over a link
- Requests and responses (tested with both NomadNet sites and rngit work documents)
I'm building this mostly because I need Reticulum capability for two systems I'm working on:
- Integration with Signal K "smart boat" platform (Node.js)
- Online collaboration for the new NoFlo visual programming editor (browser and Node.js)
So features needed for those have priority. However, down the line it would be great to have the full RNS spec supported. This means a browser app could theoretically be a transport node!
Reticulum-js has been written with assistance of various LLMs. Not ideal, I know. But right now I need to balance sailing and getting this working quickly.
If anybody is interested in this, I'd love some feedback. Especially:
- General API ergonomics. I've tried to keep it quite "modern JavaScript" and lean heavily on Promises etc
- Ideas for interfaces that would work for browser applications (WebBluetooth? HTTP POST? ...)
There are some usage examples I. The examples/ folder.