Igor Sirotin d25e7eb5a7
refactor(ffi): keep two files in package ffi, one per header
The single library still ships two headers — liblogosdelivery.h (stable
Messaging/lifecycle) and liblogosdelivery_kernel.h (low-level waku_*). Mirror
that with two files in one package instead of one merged ffi.go: keep the
messaging bridge and all the shared plumbing (Handle/RetOK/lifecycle/callbacks/
call) in liblogosdelivery.go, and keep the kernel wrappers in libwaku.go, which
reuses the shared call + logosGoCallback. This is the same two files we had,
moved into package ffi — a much smaller diff than the merge.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 22:24:15 +01:00
2025-12-22 14:15:00 +05:30

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 libwaku
    git 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
No description provided
Readme
Languages
Go 99%
Makefile 1%