e7d591b7bc
* base * Remove mixnet client from libp2p network backend (#572) * Mixnet v1: Remove all mixnet legacies: mixnet crate, mixnode binary, tests, and docker (#573) * Mixnet v1: Skeleton (#570) * Use QUIC for libp2p (#580) * Add Poisson interval function for Mixnet (#575) * Mixnet network backend skeleton (#586) * Libp2p stream read/write (#587) * Emitting packets from mixclient using libp2p stream (#588) * Handle outputs from mixnode using libp2p stream/gossipsub (#589) * Refactor poisson (#590) * Mix client Poisson emission (#591) * Mix node packet handling (#592) * Mix Packet / Fragment logic (#593) * Move FisherYates to `nomos-utils` (#594) * Mixnet topology (#595) * Mix client/node unit tests (#596) * change multiaddr from tcp to udp with quic-v1 (#607) --------- Co-authored-by: Al Liu <scygliu1@gmail.com> |
||
---|---|---|
.. | ||
monitoring | ||
scripts | ||
Dockerfile | ||
README.md | ||
bootstrap_config.yaml | ||
cli_config.yaml | ||
explorer_config.yaml | ||
libp2p_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.
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,etcd}
Using testnet
Bootstrap node is accessible from the host via 3000
and 18080
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.
- "18081-18190:18080"
After running docker compose up
, the randomly assigned ports can be viewed with ps
command:
docker compose ps