#!/bin/bash set -e # ------------------------------------------------------------------------------ # This implements a simple Store scenario, matching scenario_1.sh style: # - Bring up waku-simulator # - Wait for servicenode to be running (tight while loop like scenario_1.sh) # - Start Sonda (publishes via relay & queries store) using perf-test.env # - Start LPT (publishers/receivers) in phases: 2x2 -> 1x5 -> 5x1 -> receivers down -> lpt down # ------------------------------------------------------------------------------ # >>> EDIT THESE IF YOUR SETUP DIFFERS <<< STORE_NODES="/ip4/10.2.0.101/tcp/60001/p2p/16Uiu2HAkyte8uj451tGkbww4Mjcg6DRnmAHxNeWyF4zp23RbpG3n" RELAY_NODE_REST_ADDRESS="http://127.0.0.1:8645" STORE_NODE_REST_ADDRESS="http://127.0.0.1:8644" PUBSUB_TOPIC="/waku/2/default-waku/proto" CONTENT_TOPIC="/sonda/2/polls/proto" # <<< EDIT ABOVE >>> echo "Running test..." current_time=$(date +"%Y-%m-%d %H:%M:%S") echo "Bringing up simulator at $current_time" cd ./waku-simulator # same style: exports before compose export SERVICENODE_CPU_CORES=0 # 1 core for service node export POSTGRES_CPU_CORES=1-3 # keep DB off core 0 export GF_SECURITY_ADMIN_USER=admin export GF_SECURITY_ADMIN_PASSWORD=admin export NWAKU_IMAGE=wakuorg/nwaku:latest export NUM_NWAKU_NODES=15 export RLN_ENABLED=false docker compose up -d # Wait for servicenode to be running (scenario_1.sh style) while [ "$(docker inspect --format "{{.State.Status}}" $(docker compose ps -q servicenode))" != "running" ]; do sleep 1 done cd .. # ------------------------------------------------------------------------------ # Start Sonda (like scenario_1.sh: build & run with env-file, host network) # ------------------------------------------------------------------------------ cd ./sonda docker build -t local-perf-sonda -f ./Dockerfile.sonda . cat > ./perf-test.env <