mirror of
https://github.com/logos-messaging/logos-messaging-go-bindings.git
synced 2026-06-12 19:59:32 +00:00
* 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>
48 lines
1.1 KiB
Markdown
48 lines
1.1 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
# 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`
|
|
```sh
|
|
git submodule update --init --recursive
|
|
make -C pkg/kernel build-libwaku
|
|
```
|
|
- Build the project. Submodule paths are used by default to find `libwaku`.
|
|
```shell
|
|
make -C pkg/kernel build
|
|
```
|