Waku Go Bindings
Go bindings for the Waku library.
Install
go get -u github.com/logos-messaging/logos-messaging-go-bindings
Building & Dependencies
libwaku (from logos-messaging-nim) is required at compile-time. The Makefile gives you two ways to satisfy this:
-
Automatic clone (default) – if
LMN_DIRis unset, runningmake -C waku buildwill clone a shallow copy of
logos-messaging-nimintothird_party/nwaku, buildlibwaku, and compile the Go bindings. This is what CI uses. -
Reuse an existing clone – if you already have
logos-messaging-nimchecked out, point the build to it:export LMN_DIR=/path/to/your/logos-messaging-nim make -C waku buildExisting
libwakuartifacts under that path are reused, so this is fast for local development.
The Makefile sets CGO_CFLAGS and CGO_LDFLAGS automatically; no extra environment is required.
Downstream projects: When importing
logos-messaging-go-bindingsin another Go module you must ensureLMN_DIRis exported (or vendorlibwaku) before runninggo build. Otherwise the CGO step will fail.
Development
When working on this repository itself, logos-messaging-nim is included as a git submodule for convenience.
- Initialize and update the submodule, then build
libwakugit submodule update --init --recursive make -C waku build-libwaku - Build the project. Submodule paths are used by default to find
libwaku.make -C waku build