logos-messaging / logos-delivery
git clone https://github.com/logos-messaging/logos-delivery.git
v0.39.2 · 9d ago
Logos Messaging protocols implemented in Nim
+0
stars, 24h · #23,659
+0
stars, 7 days · #32,245
+~0
stars, 30 days · #35,884
249
★ total
89
forks · 93 open issues
Star history (as recorded here)
LanguageNim
LicenseApache-2.0
Created2020-04-28 (6y ago)
Last pushtoday
Watchers25
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #3 weekly in nim
- 2026-10-21 — #3 weekly in nim
- 2026-10-20 — #3 weekly in nim
Links
README excerpt
# Logos Delivery ## Introduction This implements a set of libp2p protocols aimed at private communication. - Nim implementation of these specs. - C library that exposes the implemented protocols. - CLI application that allows you to run a logos-delivery node. - Examples. - Tests for all of the 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. Recommended and tested toolchain versions (these are installed when you follow the build instructions below): - Nim 2.2.6: installed by Nimble from the `nim` entry in `nimble.lock` - Nimble: `make nimble` installs the pin from `logos_delivery.nimble`. Check it with `nimble --version`. `make` runs the pinned Nimble itself. To use it in a shell: [code] ### Prerequisites - The standard developer tools: a C/C++ compiler, GNU Make, Bash and Git. - CMake. - Rust (`rustc` and `cargo`). > Some distributions (Fedora, for example) don't ship the `which` utility by default. The Makefile relies on it, so install it separately. ### Node [code] 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 running a node, refer to the guides below. They were written for nwaku and still use the old `wakunode2` binary name: - 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 `/mnt/` directory. ## How to Build & Run ( Windows ) #### 1. 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. #### 2. Install Dependencies Open MSYS2 mingw64 terminal and run the following one-by-one : [code] On Windows, `make` installs the pinned Nimble from its prebuilt release and lets Nimble install Nim during dependency setup, so no Nim needs to be on PATH. Verify before building: [code] #### 3. Build logosdeliverynode - Open Git Bash as administrator - clone the repository and cd into it - Execute: `./scripts/build_windows.sh` - Pass a target to build only one, for example `./scripts/build_windows.sh liblogosdelivery`. CI runs this same script. #### 4. Troubleshooting If `logosdeliverynode.exe` or `liblogosdelivery` isn't generated: - **Missing Dependencies**: Verify with: `which make cmake gcc g++ rustc cargo python nasm` If missing, revisit Step 2 or ensure MSYS2 is at `C:\` - **Installation Conflicts**: Remove existing MinGW/MSYS2/Git Bash installations and perform fresh install ## Developing ### Nim and dependencies The first `make` run installs Nim into `~/