📈 GH Trending Explorer 🎲 Surprise me

← all repos

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)

2026-10-20 · 249 ★ 2026-10-23 · 249 ★
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 `~/