Port of Reticulum Network Stack to C++ specifically but not exclusively targeting 32-bit and better MCUs.
Build environment is configured for use in VSCode and PlatformIO.
This API is dependent on the following external libraries:
Building and uploading to hardware is simple through the VSCode PlatformIO IDE
- Install VSCode and PlatformIO
 - Clone this repo
 - Lanch PlatformIO and load repo
 - In PlatformIO, select the environment for intended board
 - Build, Upload, and Monitor to observe application logging
 
Instructions for command line builds and building of individual example applications coming soon.
- Framework for simple C++ API that mimics Python reference implementation with implicit object sharing
 - Utility class to efficiently handle byte buffers
 - Implemenmtat basic Identity, Destination and Packet
 - Successful testing of Announce mechanism
 - Implement Ed2551 public-key signature and X25519 key exchange
 - Implement encryption including AES, AES-CBC, HKDF, HMAC, PKCS7, and Fernet
 - Successful testing of Packet encrypt/decrypt/sign/prof
 - Implement dynamic Interfaces
 - Implement UDP Interface for testing against Python reference Reticulum instances
 - Implement basic Transport functionality
 - Successful testing of end-to-end Path Finding
 - Implement persistence for storage of runtime data structures (config, identities, routing tables, etc.)
 - Support for Links and Resources in Transport
 - Implement Packet proofs
 - Successful testing of Transport of both Packets and Links
 - Implement memory management appropriate for memory constricted MCUs
 - Implement Link
 - Implement AES256
 - Implement Ratchets
 - Implement Resource
 - Implement Channel and Buffer
 - Add example applications utilizing the C++ API
 - Configure PlatformIO to easily build and upload test applications to board
 - Add build tagets for all boards currently supported by RNode
 - Implement new combination caching/storage manager for managing persistent data
 
Please open an Issue if you have trouble building ior using the API, and feel free to start a new Discussion for anything else.