draoi a20ab3b5a8 doc: add dnet code comments 2 năm trước cách đây
..
src a20ab3b5a8 doc: add dnet code comments 2 năm trước cách đây
.gitignore cff87e6926 dnet: move python-venv from root .gitignore to bin/dnet/.gitignore 2 năm trước cách đây
README.md 55d18695de dnet: update README 2 năm trước cách đây
dnet 0e6f51e895 chore: Update copyright year in license headers 2 năm trước cách đây
dnet_config.toml a4523f6017 dnet: move source files to src/, rename main.py to dnet and make executable 2 năm trước cách đây
requirements.txt de3c4eb09f dnet: update dnet to new urwid version and fix asyncio usage 2 năm trước cách đây

README.md

dnet

A simple tui to explore darkfi p2p network topology. Displays:

  1. Active p2p nodes
  2. Outgoing, incoming, manual and seed sessions
  3. Each associated connection and recent messages.

dnet is based on the design-pattern Model, View, Controller. We create a logical seperation between the underlying data structure or Model; the ui rendering aspect which is the View; and the Controller or game engine that makes everything run.

Run

Using a venv

Dnet requires Python 3.12.0. Make sure Python is installed and on the latest version.

Depending on your setup you may need to install a virtual environment for Python. Do so as follows:

% python -m venv python-env
% source python-env/bin/activate

Then install the requirements:

% pip install -r requirements.txt

Run dnet:

% python main.py

You will need to reactivate the venv in your current terminal session each time you use dnet as follows:

% source python-env/bin/activate

Without a venv

If you don't require a venv, install the requirements and run dnet as follows:

% pip install -r requirements.txt
% python main.py

Config

On first run, dnet will create a config file in the config directory specific to your operating system.

To use dnet you will need to open the config file and modify it. Enter the RPC ports of the nodes you want to connect to and title them as you see fit. The default config file uses localhost, but you can replace this with hostnames or external IP addresses. You must also specify whether it is a NORMAL or a LILITH node.

Usage

Navigate up and down using the arrow keys. Scroll the message log using PageUp and PageDown. Type q to quit.

Logging

dnet creates a log file in bin/dnet/dnet.log. To see json data and other debug info, tail the file like so:

tail -f dnet.log