An implementation of Reticulum in Zig targeting operating systems and embedded devices.
- Implement core transport.
- Test core transport.
- Implement a transport node pico build.
- Test transport node pico build.
- Implement app.
- Test app.
app/
is the classic Reticulum app for standard operating systems.- Currently this is fairly empty as I work on the core functionality.
core/
is the core functionality of Reticulum.- Provides the means to setup nodes and their interfaces without coupling to operating system calls.
- Built as a module for use in embedded and operating systems.
- The crypto implementation currently leverages std.crypto from the zig std library.
- Eventually I will provide an option to use OpenSSL.
hardware/
stores image setups for embedded devices that users can build with one command.- Makes use of microzig as a submodule for targeting embedded devices.
- Currently there is a very simple proof of concept for the pico.
- It makes an identity, endpoint and announce packet and sends it over serial.
- The image can be built by running
zig build -Doptimize=ReleaseSafe pico
fromhardware
. - Note that the upstream USB CBC code is known to be buggy.
test/
stores integration tests for core.- Eventually these will be done via deterministic simulation.
- This will provide strong assurances on behaviour and make debugging much simpler.
- Parity to reference implementation in core behaviour.
- Cross-platform app for running on operating systems.
- Providing one-line image builds of Reticulum for embedded devices.
- Option of using OpenSSL for crypto.
- Determinstic simulation testing.
- Comprehensive integration tests.
- Exact parity to reference implementation in terminology/structure.