Igor Sirotin 4fd33b6121
refactor: adopt golang-standards/project-layout (#111)
* refactor: adopt golang-standards/project-layout

Move the legacy kernel wrapper `waku/*` to `pkg/kernel/*` and rename its
package `waku` -> `kernel`; nothing outside the package imported it, so this is
a mechanical import-path/prefix change. Update the relocated Makefile's
relative dep path, the legacy CI workflows (CI/endurance/repeated) build paths,
README, and .gitignore accordingly (preserving the libwaku-cache CI from #109).

Add scaffolding for the upcoming Messaging API work: `internal/ffi` (cgo
bridge), `pkg/messaging` (high-level Node API), and `examples/`. Document
`pkg/kernel` as legacy until logos-delivery#3851 consolidates the C libraries.

Also stop tracking the accidentally-committed `waku-bindings` build artifact
and gitignore the kernel build output.

No behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: cleanup

* fix: repair references to removed utils package

nwaku_test_utils.go now uses pkg/kernel/utils.GetRSSKB; the memory_record
tool is self-contained (local helpers, missing mutex restored).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:13:55 +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 98.9%
Makefile 1.1%