Drazen Urch 1ac262ec90 New Network Monitor (#4610)
* Initial commit

* Cherry pick from develop

* Keep track of fragments

* A bunch of data formats, graphs

* Use mix_id for display

* Proper API routes

* Add openapi + swagger ui

* Update locustfile

* Add node stats endpoint

* Add Swagger and locust to readme

* All node stats endpoint

* Update dependencies to use workspace

* Bunch of pedantic fixes

* More version updates, fmt

* More lints

* Add new_from_env for NymTopology

* Nym API endpoint to submit monitoring results (#4616)

* Nym API endpoint to submit monitoring results

* Add gateway monitoring results

* Cleanup, ergonomics

* Weaponize

* Finalize results submissions

* Monitor message signing and verification

* Update README

* Axum graceful shutdown

* More grtacefulness

* Restructure result submission

* Less fragile routes

* Remove gateway unique index on node_id
2024-08-22 11:29:36 +02:00
2024-08-22 11:29:36 +02:00
2024-08-22 11:29:36 +02:00
2024-07-15 18:06:56 +02:00
2024-07-26 15:25:47 +02:00
2024-07-15 18:06:56 +02:00
2023-12-04 10:17:22 +00:00
2024-08-22 11:29:36 +02:00
2024-07-30 11:27:21 +01:00
2024-01-26 09:50:18 +01:00
2024-08-22 11:29:36 +02:00
2023-02-28 10:33:45 +01:00
2024-08-22 11:29:36 +02:00
2024-07-30 11:31:48 +01:00
2024-08-22 11:29:36 +02:00
2024-08-22 11:29:36 +02:00
2023-12-19 09:24:44 +01:00
2023-12-19 09:24:44 +01:00
2024-08-22 11:29:36 +02:00
2024-08-22 11:29:36 +02:00
2024-07-26 15:28:06 +02:00
2022-10-26 16:48:06 +01:00
2024-07-30 11:27:21 +01:00
2023-09-21 15:09:34 +01:00
2024-07-30 11:27:21 +01:00
2024-07-15 18:06:56 +02:00
2023-10-30 16:42:40 +01:00
2024-07-26 17:28:24 +01:00

The Nym Privacy Platform

The platform is composed of multiple Rust crates. Top-level executable binary crates include:

  • nym-node - a tool for running a node within the Nym network. Nym Nodes containing functionality such as mixnode, entry-gateway and exit-gateway are fundamental components of Nym Mixnet architecture. Nym Nodes are ran by decentralised node operators. Read more about nym-node in Operators Guide documentation. Network functionality of nym-node (labeled with --mode flag) can be:
    • mixnode - shuffles Sphinx packets together to provide privacy against network-level attackers.
    • gateway - acts sort of like a mailbox for mixnet messages, which removes the need for direct delivery to potentially offline or firewalled devices. Gateways can be further categorized as entry-gateway and exit-gateway. The latter has an extra embedded IP packet router and Network requester to route data to the internet.
  • nym-client - an executable which you can build into your own applications. Use it for interacting with Nym nodes.
  • nym-socks5-client - a Socks5 proxy you can run on your machine and use with existing applications.
  • nym-explorer - a (projected) block explorer and (existing) mixnet viewer.
  • nym-wallet - a desktop wallet implemented using the Tauri framework.
                      ┌─►mix──┐  mix     mix
                      │       │
            Entry     │       │                   Exit
client ───► Gateway ──┘  mix  │  mix  ┌─►mix ───► Gateway ───► internet
                              │       │
                              │       │
                         mix  └─►mix──┘  mix

Build Status

Building

Developing

There's a sandbox.env file provided which you can rename to .env if you want convenient testing environment. Read more about sandbox environment in our Operators Guide page.

References for developers:

Developer chat

You can chat to us in two places:

  • The #dev channel on Matrix
  • The various developer channels on Discord

Tokenomics & Rewards

Nym network economic incentives, operator and validator rewards, and scalability of the network are determined according to the principles laid out in the section 6 of Nym Whitepaper. Initial reward pool is set to 250 million Nym, making the circulating supply 750 million Nym.

This is a monorepo and components that make up Nym as a system are licensed individually, so for accurate information, please check individual files.

As a general approach, licensing is as follows this pattern:

  • applications and binaries are GPLv3
  • libraries and components are Apache 2.0 or MIT
  • documentation is Apache 2.0 or CC0-1.0

Nym Node Operators and Validators Temrs and Conditions can be found here.

S
Description
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.
Readme 377 MiB
Languages
Rust 65.9%
JavaScript 22.1%
TypeScript 9.1%
Shell 0.9%
Python 0.6%
Other 1.2%