nim-ffi 0.2.0 generates the Rust bindings from the Nim source, so bindgen over the hand-written headers is no longer the source of truth -- and could not be, since those headers describe the pre-CBOR ABI. The generated sources are referenced in place under vendor rather than copied, so regenerating them in logos-delivery flows straight through with nothing to keep in sync. They stay sibling modules because api.rs resolves its neighbours through `super::`. build.rs keeps driving the build: it runs the vendor's make target, scans for the version-and-hash-named nimble package dirs and librln, and emits the miniupnpc / natpmp / c++ link flags. The generated build.rs does none of that (it runs a bare `nim c --mm:orc` against a path that does not resolve here), so only the bindgen half is dropped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Waku rust bindgen bindings
Rust layer on top of go-waku c ffi bindings.
Usage
These are autogenerated, if you are looking for a proper Rust API version check on waku-bindings
Add this to your Cargo.toml:
[dependencies]
waku-sys = "0.1.0"
About Waku
Waku is the communication layer for Web3. Decentralized communication that scales.
Private. Secure. Runs anywhere.
What is Waku?
Waku is a suite of privacy-preserving, peer-to-peer messaging protocols.
Waku removes centralized third parties from messaging, enabling private, secure, censorship-free communication with no single point of failure.
Waku provides privacy-preserving capabilities, such as sender anonymity,metadata protection and unlinkability to personally identifiable information.
Waku is designed for generalized messaging, enabling human-to-human, machine-to-machine or hybrid communication.
Waku runs everywhere: desktop, server, including resource-restricted devices, such as mobile devices and browsers. How does it work?
The first version of Waku had its origins in the Whisper protocol, with optimizations for scalability and usability. Waku v2 is a complete rewrite. Its relay protocol implements pub/sub over libp2p, and also introduces additional capabilities:
- Retrieving historical messages for mostly-offline devices.
- Adaptive nodes, allowing for heterogeneous nodes to contribute.
- Bandwidth preservation for light nodes.
This makes it ideal for running a p2p protocol on mobile, or in other similarly resource-restricted environments.
Read the Waku docs