nomos-node/testnet
Youngjoon Lee e7d591b7bc
Mixnet v1 (#569)
* 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>
2024-03-12 15:47:35 +09:00
..
monitoring Docker compose metrics containers (#564) 2024-01-23 18:16:33 +02:00
scripts Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
Dockerfile Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
README.md Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
bootstrap_config.yaml Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
cli_config.yaml Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00
explorer_config.yaml Docker compose metrics containers (#564) 2024-01-23 18:16:33 +02:00
libp2p_config.yaml Mixnet v1 (#569) 2024-03-12 15:47:35 +09:00

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