86ee8ff8c7 | ||
---|---|---|
.. | ||
scripts | ||
Dockerfile | ||
README.md | ||
bootstrap_config.yaml | ||
libp2p_config.yaml | ||
mixnode_config.yaml |
README.md
Docker Compose Testnet for Nomos
The Nomos Docker Compose Testnet contains four distinct service types:
- Bootstrap Node Service: A singular Nomos node with its own service and a deterministic DNS address. Other nodes utilize this as their initial peer.
- Libp2p Node Services: Multiple dynamically spawned Nomos nodes that announce their existence through etcd.
- Etcd Service: A container running an etcd instance.
- Mix-Node-{0,1,2}: These are statically configured mixnet nodes. Every Libp2p node includes these in its topology configuration.
Building
Upon making modifications to the codebase or the Dockerfile, the Nomos images must be rebuilt:
docker compose build
Configuring
Configuration of the Docker testnet is accomplished using the .env
file. An example configuration can be found in .env.example
.
To adjust the count of Nomos nodes, modify the variable:
DOCKER_COMPOSE_LIBP2P_REPLICAS=100
Running
Initiate the testnet by executing the following command:
docker compose up
This command will merge all output logs and display them in Stdout. For a more refined output, it's recommended to first run:
docker compose up -d
Followed by:
docker compose logs -f {bootstrap,libp2p-node,mixnode,etcd}
Using testnet
Bootstrap node is accessible from the host via 3000
and 8080
ports. To expose other nomos nodes, please update libp2p-node
service in the compose.yml
file with this configuration:
libp2p-node:
ports:
- "3001-3010:3000" # Use range depending on the number of nomos node replicas.
- "8081-8190:8080"
After running docker compose up
, the randomly assigned ports can be viewed with ps
command:
docker compose ps