2023-06-26 14:19:59 +00:00
|
|
|
# nwaku-simulator
|
|
|
|
|
|
|
|
## Requires
|
|
|
|
* docker
|
|
|
|
* docker-compose
|
|
|
|
|
|
|
|
## How to run
|
|
|
|
|
|
|
|
```
|
2023-07-05 08:46:40 +00:00
|
|
|
git clone https://github.com/waku-org/waku-simulator.git
|
2023-06-26 14:19:59 +00:00
|
|
|
cd waku-simulator
|
|
|
|
```
|
|
|
|
|
2023-07-05 09:09:15 +00:00
|
|
|
Configure the simulation parameters. You can place the env variable in an `.env` file.
|
|
|
|
|
2023-06-26 14:19:59 +00:00
|
|
|
```
|
2023-07-05 09:09:15 +00:00
|
|
|
export GOWAKU_IMAGE=statusteam/go-waku:v0.7.0
|
2023-06-27 09:27:41 +00:00
|
|
|
export NWAKU_IMAGE=statusteam/nim-waku:v0.18.0-rc.0
|
2023-06-26 14:19:59 +00:00
|
|
|
export NUM_NWAKU_NODES=5
|
2023-07-05 09:09:15 +00:00
|
|
|
export NUM_GOWAKU_NODES=5
|
|
|
|
export MSG_PER_SECOND=10
|
|
|
|
export MSG_SIZE_KBYTES=10
|
2023-06-26 14:19:59 +00:00
|
|
|
docker-compose up -d
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
This will:
|
2023-07-05 09:09:15 +00:00
|
|
|
* spin up grafana/prometheus for monitoring, see `http://localhost:3000`.
|
|
|
|
* spin up a bootstrap nwaku node.
|
|
|
|
* spin up a given amount of nwaku/gowaku nodes with specific versions.
|
2023-06-26 14:19:59 +00:00
|
|
|
* spin up a `waku-publisher` instance that will inject traffic into the network (see flags for rate and msg size)
|
|
|
|
|
|
|
|
|
|
|
|
## warning
|
|
|
|
|
|
|
|
in case arp tables are overflowing:
|
|
|
|
|
|
|
|
```
|
|
|
|
sysctl net.ipv4.neigh.default.gc_thresh3=32000
|
|
|
|
```
|