Go to file
Alberto Soutullo 3c206431a1 Deleted comment with older kurtosis version 2023-06-09 12:55:15 +02:00
analysis-module Fixed wrong parameter function call 2023-05-22 13:08:08 +01:00
config Added discv5 as default in gennet 2023-06-09 12:24:11 +02:00
gennet-module Deleted bootstrap node from gennet.py 2023-06-09 12:20:04 +02:00
monitoring Minor 2023-05-19 11:20:24 +01:00
src Changed kurtosis to properly use discv5 2023-06-09 12:23:28 +02:00
wls-module Deleted pycache tracked folders 2023-06-09 12:36:51 +02:00
.dockerignore Initial commit 2022-10-13 18:46:01 +02:00
.gitignore updated gitignore 2023-06-09 12:39:12 +02:00
README.md Updated Kurtosis version to 0.70.2 2023-03-27 16:43:24 +02:00
build.sh Deleted comment with older kurtosis version 2023-06-09 12:55:15 +02:00
clean_repo.sh Added clean_repo, p_run and p_analasys scripts 2023-04-18 16:56:55 +02:00
cleanup.sh Cleaned bootstrap node and ENR in cleanup.sh 2023-06-09 12:22:10 +02:00
kurtosis.yml Trying to set up prometheus under Kurtosis 2022-12-16 13:13:12 +01:00
main.star Changed kurtosis to properly use discv5 2023-06-09 12:23:28 +02:00
prepare_env.sh Added prepare environment script 2023-02-10 10:32:42 +00:00
run.sh Now bootstrap node is run correctly in run.sh, and ENR is modified in traits to be inyected in gennet 2023-06-09 12:09:59 +02:00
run_bootstrap_node.sh Added scripts to run bootstrap node in host, and waku node in kurtosis 2023-06-09 12:10:57 +02:00
run_waku_node.sh Added scripts to run bootstrap node in host, and waku node in kurtosis 2023-06-09 12:10:57 +02:00
tests.star Added tests for wls.star 2023-03-10 19:12:50 +01:00

README.md

Wakurtosis

Starting version for Waku network simulations (https://github.com/waku-org/pm/issues/2)

More info about Kurtosis: https://docs.kurtosis.com/

How to use:

Before using this repository note that:

  • You are using Kurtosis version 0.70.2. This is important, as they are working on it and changes can be huge depending on different versions. You can find all Kurtosis versions here.
  • The topology files that will be used by default are defined in config/topology_generated/. This topology is created with the gennet module.
  • Kurtosis can set up services in a parallel manner, defined in the config.json file (see below).
  • Only kurtosis and docker are needed to run this.

How to run

From the root of the repo run:

sh ./run.sh

This will load the default configuration file ./config/config.json. You can also specify a different .json config file and its location with:

sh ./run.sh ./config/config.json

JSON main configuration file options

These are arguments that can be modified:

  • prng_seed: int. Seed to reproduce results.

  • enclave_name: string. Default: wakurtosis. Defines the name of the Kurtosis enclave being created.

  • topology_file: string. Default: waku_test_topology_small.json. If defines the network topology that will be created.

  • jobs: int. Defines how many services will be instantiated at the same time.

  • interconnection_batch: int. If nodes are being connected by a given topology, this tells kurtosis how many connections will try to set up in the same node at a time. Used to avoid timeouts if a node has a lot of connections.

  • WLS module configuration

  • Gennet module configuration

What will happen

Kurtosis will automatically add one node as container inside the enclave. The way that nodes are interconnected is given by the topology. The configuration of each node is given by the configuration file.

Once all nodes are ready, prometheus and grafana will be set up and connected to all nodes.

Once all nodes have been interconnected the simulation starts and will inject traffic into the network following the parameters specified in the configuration file.

Check Prometheus+Grafana+Logs

  • Simulation log:

'kurtosis service logs wakurtosis $(kurtosis enclave inspect | grep wls- | awk '{print $1}')'

  • Grafana server:

To display the IP address and Port of the Grafana server on your local machine run:

'kurtosis enclave inspect | grep grafana- | awk '{print $6}'

Remember that by default is 'wakurtosis'.

Please, any improvements/bugs that you see, create an issue, and we will work on it.