Tool to simulate a waku network with multiple nodes, traffic and users
https://simulator.waku.org
4456278b29
* Add documentation for connect external store node * add new page to summary.md |
||
---|---|---|
.github/workflows | ||
monitoring | ||
src | ||
.gitignore | ||
.gitmodules | ||
5xx.html | ||
README.md | ||
book.toml | ||
deploy_rln_contract.sh | ||
docker-compose.yml | ||
nginx.conf | ||
run_bootstrap.sh | ||
run_nwaku.sh | ||
wakusim.env |
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.