Tool to simulate a waku network with multiple nodes, traffic and users https://simulator.waku.org
Go to file
Tanya S ecb2186bfb
Update script and other references using container names (#90)
* Update run_nwaku script to handle either container name format

* Update rest-traffic image version
2024-10-10 08:54:04 +02:00
.github/workflows Delete unused action 2024-06-12 12:50:01 +02:00
monitoring Update script and other references using container names (#90) 2024-10-10 08:54:04 +02:00
src Update script and other references using container names (#90) 2024-10-10 08:54:04 +02:00
.gitignore Add waku-simulator book (#65) 2024-06-12 12:34:16 +02:00
.gitmodules Rln membership registration implementation (#23) 2024-03-14 13:35:25 +02:00
5xx.html Block explorer nginx (#61) 2024-06-07 16:53:01 +02:00
README.md Add MAX_MESSAGE_LIMIT to readme. (#71) 2024-07-22 05:15:25 +02:00
book.toml Update book.toml 2024-06-12 13:19:40 +02:00
deploy_rln_contract.sh Update contract limit and rest traffic commit (#79) 2024-06-27 11:01:12 +02:00
docker-compose.yml Update script and other references using container names (#90) 2024-10-10 08:54:04 +02:00
nginx.conf Block explorer nginx (#61) 2024-06-07 16:53:01 +02:00
run_bootstrap.sh remove rest-admin and rest-private node config (#85) 2024-09-13 08:54:22 +02:00
run_nwaku.sh Update script and other references using container names (#90) 2024-10-10 08:54:04 +02:00
wakusim.env Update wakusim.env for TWN config (#84) 2024-07-08 14:56:58 +02:00

README.md

waku-simulator

Check 📖 The Waku Simulator Book📖

Quickstart

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 NWAKU_IMAGE=quay.io/wakuorg/nwaku-pr:2759-rln-v2
export NUM_NWAKU_NODES=5
export TRAFFIC_DELAY_SECONDS=15
export MSG_SIZE_KBYTES=10
export PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
export ETH_FROM=0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
export RLN_RELAY_EPOCH_SEC=10
export RLN_RELAY_MSG_LIMIT=2
export MAX_MESSAGE_LIMIT=100  # Contract's message limit. Needs to be higher or equal than RLN_RELAY_MSG_LIMIT, otherwise nodes won't start correctly.

docker-compose --compatibility up -d

warning

in case arp tables are overflowing:

sysctl net.ipv4.neigh.default.gc_thresh3=32000

Compose V2 users should spin up the containers with the following command:

docker-compose --compatibility up -d

Infrastructure

An instance of this service is deployed at https://simulator.waku.org/.

It is configured using wakusim.env file, and new changes to this repository are picked up using a GitHub webhook handler. The docker images used are updated using Watchtower as well.

For details on how it works please read the Ansible role readme file. The original deployment issue can be found here.

The deployed branch is deploy-wakusim.