Reticulum in elixir!

Reticulum is the cryptography-based networking stack for building local and wide-area networks with readily available hardware. Reticulum can continue to operate even in adverse conditions with very high latency and extremely low bandwidth.

this is an implementation of Reticulum I'm working on, in the elixir programming language.

elixir is a programming language based on erlang, which is a language that was made for telephony switches and has it's own process system instead of using threads, so you can start tens of thousands of processes in less than a second. processes don't have a shared memory and instead can send messages between each other, and the crash of a process will not affect other processes, except if they are linked. this feature makes erlang(and elixir) very error resiliant, so when a process crashes not all users will be affected. another interesting feature is "hot reloading": the ability to update your code without restarting it, just injecting the updated version. these features allow having a high availability, which is very important for a network.

I don't think "lambda" users should use this implementation as it will probably have higher memory usage and is slower to start, but it should instead be used for transport nodes(nodes that do the routing) and nodes serving stuff.

this implementation is still a work in progress and should not be used for other purposes than testing, but I am pretty close to implement links and then I'll just have to work on little things here and there, but most of the job will be done.

Some links

Reticulum's main website
Reticulum's main git repository
the git repository of my implementation in elixir