Tool to simulate a waku network with multiple nodes, traffic and users https://simulator.waku.org
Go to file
Alvaro Revuelta 8591819697
Update run_nwaku.sh
2023-07-05 12:14:03 +02:00
monitoring Add more gowaku targets 2023-06-29 10:42:04 +02:00
.gitignore Initial release 2023-06-26 17:07:14 +02:00
README.md Merge pull request #1 from waku-org/nwaku-interop-gowaku 2023-07-05 11:10:17 +02:00
docker-compose.yml Add support for gowaku 2023-07-05 11:09:15 +02:00
run_bootstrap.sh Initial release 2023-06-26 17:07:14 +02:00
run_gowaku.sh Initial release 2023-06-26 17:07:14 +02:00
run_nwaku.sh Update run_nwaku.sh 2023-07-05 12:14:03 +02:00
run_wakupublisher.sh Add support for gowaku 2023-07-05 11:09:15 +02:00
traffic.py Initial release 2023-06-26 17:07:14 +02:00

README.md

nwaku-simulator

Requires

  • docker
  • docker-compose

How to run

git clone https://github.com/waku-org/waku-simulator.git
cd waku-simulator

Configure the simulation parameters. You can place the env variable in an .env file.

export GOWAKU_IMAGE=statusteam/go-waku:v0.7.0
export NWAKU_IMAGE=statusteam/nim-waku:v0.18.0-rc.0
export NUM_NWAKU_NODES=5
export NUM_GOWAKU_NODES=5
export MSG_PER_SECOND=10
export MSG_SIZE_KBYTES=10
docker-compose up -d

This will:

  • 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.
  • 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