logos-messaging / logos-delivery
Logos Messaging protocols implemented in Nim
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing logos-messaging/logos-delivery in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewLogos Messaging Nim Introduction This repository implements a set of libp2p protocols aimed to bring private communications. • Nim implementation of these specs. • C library that exposes the implemented protocols. • CLI application that allows you to run an lmn node. • Examples. • Various tests of above. For more details see the source code How to Build & Run ( Linux, MacOS & WSL ) These instructions are generic. For more detailed instructions, see the source code above. Prerequisites The standard developer tools, including a C compiler, GNU Make, Bash, and Git. More information on these installations can be found here. > In some distributions (Fedora linux for example), you may need to install utility separately. Nimbus build system is relying on it. You'll also need an installation of Rust and its toolchain (specifically and ). The easiest way to install these, is using : Wakunode To join the network, you need to know the address of at least one bootstrap node. Please refer to the Waku README for more information. For more on how to run , refer to: • Run using binaries • Run using docker • Run using docker-compose Issues WSL If you encounter difficulties building the project on WSL, consider placing the project within WSL's filesystem, avoiding the directory. How to Build & Run ( Windows ) Windows Build Instructions • Install Required Tools • **Git Bash Terminal**: Download and install from https://git-scm.com/download/win • **MSYS2**: a. Download installer from https://www.msys2.org b. Install at "C:\" (default location). Remove/rename the msys folder in case of previous installation. c. Use the mingw64 terminal from msys64 directory for package installation. • Install Dependencies Open MSYS2 mingw64 terminal and run the following one-by-one : • Build Wakunode • Open Git Bash as administrator • clone nwaku and cd nwaku • Execute: • Troubleshooting If isn't generated: • **Missing Dependencies**: Verify with: If missing, revisit Step 2 or ensure MSYS2 is at • **Installation Conflicts**: Remove existing MinGW/MSYS2/Git Bash installations and perform fresh install Developing Nim Runtime This repository is bundled with a Nim runtime that includes the necessary dependencies for the project. Before you can utilize the runtime you'll need to build the project, as detailed in a previous section. This will generate a directory containing various dependencies, including the which has the bundled nim runtime. After successfully building the project, you may bring the bundled runtime into scope by running: If everything went well, you should see your prompt suffixed with . Now you can run commands as usual. Test Suite Building single test files During development it is helpful to build and run a single test file. To support this make has a specific target: targets: • • Binary will be created as under the directory . Testing against Refer to js-waku repo for instructions. Formatting Nim files are expected to be formatted using the version present in . You can easily format file with the command. For example: A convenient git hook is provided to automatically format file at commit time. Run the following command to install it: Examples Examples can be found in the examples folder. This includes a fully featured chat example. Tools Different tools and their corresponding how-to guides can be found in the folder. Bugs, Questions & Features For an inquiry, or if you would like to propose new features, feel free to open a general issue. For bug reports, please tag your issue with the label. If you believe the reported issue requires critical attention, please use the label to assist with triaging. To get help, or participate in the conversation, join the Waku Discord server. Docs • REST API Documentation