Add Readme for docker testnet

This commit is contained in:
Gusto 2023-10-17 15:45:22 +03:00
parent ddc79f2b0e
commit 56b2830d5a
1 changed files with 63 additions and 0 deletions

63
testnet/README.md Normal file
View File

@ -0,0 +1,63 @@
# 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:
```bash
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:
```bash
DOCKER_COMPOSE_LIBP2P_REPLICAS=100
```
## Running
Initiate the testnet by executing the following command:
```bash
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:
```bash
docker compose up -d
```
Followed by:
```bash
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:
```bash
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 randomlly assigned ports can be viewed with `ps` command:
```bash
docker compose ps
```