mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-07-04 18:00:03 +00:00
logos-delivery#4012 unifies the node lifecycle on logosdelivery_* and ships the full API — Messaging, Reliable Channels, and the low-level Kernel (waku_*) tier — in one liblogosdelivery library, retiring the separate libwaku. Migrate the bindings onto it. - internal/ffi: collapse the two bridges into one internal/ffi/liblogosdelivery over the single library. The kernel wrappers keep calling waku_* (kernel header), the lifecycle now uses logosdelivery_create_node/start_node/ stop_node/destroy (waku_new/start/stop/destroy are gone), events use logosdelivery_set_event_callback. Include liblogosdelivery_kernel.h (which re-exports the stable header) and link -llogosdelivery. Remove internal/ffi/libwaku. - pkg/kernel: repoint at internal/ffi/liblogosdelivery; the Makefile links -llogosdelivery. - CI: build only `make liblogosdelivery`, headers from library/, single -llogosdelivery. Pinned to logos-delivery#4012 until it merges (see the TODO/LOGOS_DELIVERY_REF in pr.yml). The high-level MessagingClient (pkg/messaging) lands in a follow-up PR on top. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
logos-delivery Go Bindings
Go bindings for the Waku library.
Install
go get -u github.com/logos-messaging/logos-delivery-go-bindings
Building & Dependencies
libwaku (from logos-delivery) is required at compile-time.
Building with Makefile
If you have logos-delivery checked out, point the build to it:
# path to your existing logos-delivery clone
export LOGOS_DELIVERY_DIR=/absolute/path/to/logos-delivery
export CGO_CFLAGS="-I${LOGOS_DELIVERY_DIR}/library"
export CGO_LDFLAGS="-L${LOGOS_DELIVERY_DIR}/build -lwaku -Wl,-rpath,${LOGOS_DELIVERY_DIR}/build"
# compile all packages
make -C pkg/kernel build
# run all tests
make -C pkg/kernel test
# run a specific test
make -C pkg/kernel test TEST=TestConnectedPeersInfo
Development
When working on this repository itself, logos-delivery is included as a git submodule for convenience.
- Initialize and update the submodule, then build
libwakugit submodule update --init --recursive make -C pkg/kernel build-libwaku - Build the project. Submodule paths are used by default to find
libwaku.make -C pkg/kernel build
Description
Languages
Go
99%
Makefile
1%