52 lines
1.6 KiB
Markdown

# Waku Go Bindings
This repository provides Go bindings for the Waku library, enabling seamless integration with Go projects.
## Installation
To build the required dependencies for this module, the `make` command needs to be executed. If you are integrating this module into another project via `go get`, ensure that you navigate to the `waku-go-bindings` module directory and run `make`.
### Steps to Install
Follow these steps to install and set up the module:
1. Make sure your system has the [prerequisites](https://docs.waku.org/guides/nwaku/build-source#prerequisites) to run a local nwaku node
2. Retrieve the module using `go get`:
```
go get -u github.com/waku-org/waku-go-bindings
```
3. Navigate to the module's directory:
```
cd $(go list -m -f '{{.Dir}}' github.com/waku-org/waku-go-bindings)
```
4. Prepare third_party directory and clone nwaku
```
sudo mkdir third_party
sudo chown $USER third_party
```
5. Build the dependencies:
```
make -C waku
```
Now the module is ready for use in your project.
### Note
In order to easily build the libwaku library on demand, it is recommended to add the following target in your project's Makefile:
```
LIBWAKU_DEP_PATH=$(shell go list -m -f '{{.Dir}}' github.com/waku-org/waku-go-bindings)
buildlib:
cd $(LIBWAKU_DEP_PATH) &&\
sudo mkdir -p third_party &&\
sudo chown $(USER) third_party &&\
make -C waku
```
## Example Usage
For an example on how to use this package, please take a look at our [example-go-bindings](https://github.com/gabrielmer/example-waku-go-bindings) repo