mirror of https://github.com/status-im/go-waku.git
58 lines
1.2 KiB
Markdown
58 lines
1.2 KiB
Markdown
|
# Build go-waku
|
||
|
|
||
|
Go-waku can be built on Linux, macOS and Windows
|
||
|
|
||
|
## Installing dependencies
|
||
|
|
||
|
Cloning and building go-waku requires Go +1.17, a C compiler, Make, Bash and Git.
|
||
|
|
||
|
Go can be installed by following [these instructions](https://go.dev/doc/install)
|
||
|
|
||
|
### Linux
|
||
|
|
||
|
On common Linux distributions the dependencies can be installed with
|
||
|
|
||
|
```sh
|
||
|
# Debian and Ubuntu
|
||
|
sudo apt-get install build-essential git
|
||
|
|
||
|
# Fedora
|
||
|
dnf install @development-tools
|
||
|
|
||
|
# Archlinux, using an AUR manager
|
||
|
yourAURmanager -S base-devel
|
||
|
```
|
||
|
|
||
|
### macOS
|
||
|
|
||
|
Assuming you use [Homebrew](https://brew.sh/) to manage packages
|
||
|
|
||
|
```sh
|
||
|
brew install cmake
|
||
|
```
|
||
|
|
||
|
## Building nwaku
|
||
|
|
||
|
### 1. Clone the nwaku repository
|
||
|
|
||
|
```sh
|
||
|
git clone https://github.com/status-im/go-waku
|
||
|
cd nwaku
|
||
|
```
|
||
|
|
||
|
### 2. Build waku
|
||
|
|
||
|
```sh
|
||
|
make
|
||
|
```
|
||
|
|
||
|
This will create a `waku` binary in the `./build/` directory.
|
||
|
|
||
|
> **Note:** Building `waku` requires 2GB of RAM.
|
||
|
The build will fail on systems not fulfilling this requirement.
|
||
|
|
||
|
> Setting up `waku` on the smallest [digital ocean](https://docs.digitalocean.com/products/droplets/how-to/) droplet, you can either
|
||
|
> * compile on a stronger droplet featuring the same CPU architecture and downgrade after compiling, or
|
||
|
> * activate swap on the smallest droplet, or
|
||
|
> * use Docker.
|