626d013547
* switch from yarn to pnpm * Remove full-nym-wasm (#6796) * Remove nym-browser-extension (#6798) * Remove nym-browser-extension * remove unused from makefile * Remove Node tester (#6800) * Remove dom-utils (#6801) * gh-actions: remove pnpm version * nuke dist and pkg * add missing dependency * set node version to 24 and pnpm version to 11 * upgrade lock file from pnpm version 9 to 11 * pnpm add approved builds * yarn -> pnpm * upgrade jest version * yarn -> pnpm * Remove unused cfg; clippy! * pnpm: when dev mode is on, unfreeze the lock file * pnpm approve more scripts * pnpm syntax error * add `pnpm i` * disable eslint temporarily while switching to biome in later PR --------- Co-authored-by: Mark Sinclair <mmsinclair@users.noreply.github.com> Co-authored-by: mfahampshire <maxhampshire@pm.me>
83 lines
4.1 KiB
Markdown
83 lines
4.1 KiB
Markdown
<!--
|
|
Copyright 2020 - Nym Technologies SA <contact@nymtech.net>
|
|
SPDX-License-Identifier: Apache-2.0
|
|
-->
|
|
|
|
## 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](https://nymtech.net/operators/nodes/nym-node.html). Network functionality of `nym-node` (labeled with `--mode` flag) can be:
|
|
- `mixnode` - shuffles [Sphinx](https://github.com/nymtech/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](https://tauri.app)) framework.
|
|
* `nym-cli` - a tool for interacting with the network from the CLI.
|
|
<!-- coming soon
|
|
* `nym-network-monitor` - sends packets through the full system to check that they are working as expected, and stores node uptime histories as the basis of a rewards system ("mixmining" or "proof-of-mixing").
|
|
-->
|
|
|
|
```ascii
|
|
┌─►mix──┐ mix mix
|
|
│ │
|
|
Entry │ │ Exit
|
|
client ───► Gateway ──┘ mix │ mix ┌─►mix ───► Gateway ───► internet
|
|
│ │
|
|
│ │
|
|
mix └─►mix──┘ mix
|
|
|
|
```
|
|
|
|
<!-- This is broken
|
|
[](https://github.com/nymtech/nym/actions?query=branch%3Adevelop)
|
|
-->
|
|
|
|
> This project integrates with the Midnight Network
|
|
|
|
### Building
|
|
|
|
* Platform build instructions are available on Nym [Operators Guide documentation](https://nymtech.net/operators/binaries/building-nym.html).
|
|
* Wallet build instructions are available [here](https://github.com/nymtech/nym/tree/master/nym-wallet#installation-prerequisites---linux--mac).
|
|
|
|
### Developing
|
|
|
|
References for developers:
|
|
|
|
* [Dev Docs](https://nym.com/docs/developers)
|
|
* [SDKs](https://nym.com/docs/developers/rust)
|
|
* [Network Docs](https://nym.com/docs/network)
|
|
* [Release Cycle - git flow](https://nym.com/docs/operators/release-cycle)
|
|
|
|
### Developer chat
|
|
|
|
You can chat to us in the #dev channel on [Matrix](https://matrix.to/#/#dev:nymtech.chat) or on the [Nym Forum](https://forum.nymtech.net).
|
|
|
|
### 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](https://nymtech.net/nym-whitepaper.pdf).
|
|
Initial reward pool is set to 250 million Nym, making the circulating supply 750 million Nym.
|
|
|
|
### Licensing and copyright information
|
|
|
|
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 Terms and Conditions can be found [here](https://nym.com/operators-validators-terms).
|
|
|
|
## Getting Started
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
```bash
|
|
pnpm build
|
|
```
|