Consuming apps depend on this crate from a local checkout, and the operations were hard to find: the crate root was `pub use waku_sys::*`, so everything a caller can do was hidden as methods on a glob-exported LogosDeliveryCtx. The crate-root docs now carry an Operations map — node lifecycle, messaging, reliable channels, and the typed event listeners — with the method names and a runnable example, so `cargo doc` and reading lib.rs both show what is callable. The low-level waku_* kernel surface is noted as the tier beneath. The README gains a "Using the crate" section: clone + checkout, the local path dependency, and the Nim/make/Rust build prerequisites. Also fixes stale rustdoc links in the restored store DTOs and a bare URL in the config docs, so the doc build is warning-clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Waku Rust bindings
Rust layer on top of logos-messaging-nim C FFI bindings.
Using the crate
For now this crate is consumed from a local checkout rather than a registry.
-
Clone the repo and check out the branch you want:
git clone --recurse-submodules https://github.com/logos-messaging/logos-delivery-rust-bindings cd logos-delivery-rust-bindings git checkout <branch> git submodule update --init --recursive -
Point your app at it by path:
# your app's Cargo.toml [dependencies] waku-bindings = { path = "../logos-delivery-rust-bindings/waku-bindings" }
Build prerequisites
waku-bindings builds the underlying Nim library from source the first time,
so the toolchain has to be present:
- Nim and nimble (installed by the vendored
maketargets, or bring your own onPATH) - make and a C/C++ toolchain
- A Rust toolchain (RLN is built from source)
The first build compiles the whole logos-delivery tree and is slow; subsequent builds are incremental.
What you can call
Everything is driven through LogosDeliveryCtx (re-exported at the crate root).
The crate docs group the available operations — node lifecycle, messaging,
reliable channels, and the typed event listeners — under Operations; run
cargo doc --open -p waku-bindings for the full, linked method list. A minimal
end-to-end example lives in examples/basic.
About Waku
Waku is a family of robust and censorship-resistant communication protocols enabling privacy-focused messaging for Web3 applications.
Private. Secure. Runs anywhere.
Read the Waku docs