You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Jon Häggblad 10e28c6e5c envs/mainnet: update to latest mixnet contract and nymd validator url 8 hours ago
.github Merge remote-tracking branch 'origin/release/v1.1.2' into develop 4 days ago
.reuse Associating Copyright/ Licensing info through a DEP5 file 2 years ago
.wellknown/wallet Add wellknown validators json file 9 months ago
LICENSES Adding LICENSES directory and add licenses texts 2 years ago
assets nym-wallet: add font files for all weights for wallet as not working in some Linux distros (#1351) 6 months ago
clients Fix a few errors in socks5 client and network-requester (#1823) 20 hours ago
common Feature/pledge more (#1679) 18 hours ago
contracts Feature/pledge more (#1679) 18 hours ago
docker build(deps): bump protobufjs (#1408) 5 months ago
envs envs/mainnet: update to latest mixnet contract and nymd validator url 8 hours ago
examples Update some deps suggested by cargo deny (#1761) 2 weeks ago
explorer Merge branch 'develop' into no-display-maintenance 3 days ago
explorer-api Bumping version numbers 3 days ago
gateway Merge branch 'master' into develop 3 days ago
integrations/bity Wrap up Bity order signature and verification into simple structs, so it is easy for them to use (#1661) 2 months ago
mixnode Bumping version numbers 3 days ago
nym-connect nym-connect: update lock file 17 hours ago
nym-wallet Feature/pledge more (#1679) 18 hours ago
scripts Generated changelog for 1.0.0 7 months ago
sdk Possibilty to change gateway ws listener (#1779) 1 week ago
service-providers Fix a few errors in socks5 client and network-requester (#1823) 20 hours ago
testnet-faucet Bump terser from 5.10.0 to 5.15.0 in /testnet-faucet (#1621) 3 months ago
tools Bumping nym-cli version, missed it last time 3 days ago
ts-packages another text update 2 weeks ago
validator-api Bumping version numbers 3 days ago
.env.sample-dev feat(explorer-api): auto update geoip database (#1684) 1 month ago
.github_changelog_generator Adding github_changelog_generator config files 12 months ago
.gitignore Add GitHub Action to build `@nymproject/react` storybook and example 9 months ago
.ruby-version Adding github_changelog_generator config files 12 months ago
CHANGELOG.md socks5-client: SOCKS4a support (#1822) 22 hours ago
Cargo.lock Bumping nym-cli version, missed it last time 3 days ago
Cargo.toml Feature/dkg (#1678) 2 weeks ago
Makefile GitHub Actions: add workflow to build network explorer api 2 weeks ago
README.md Merge pull request #1384 from Tonycrypto44/Tonycrypto44-patch-1 5 months ago
SECURITY.md Adding security disclosure instructions 8 months ago
clippy.toml Chore/remove unwraps (#1707) 1 month ago
deny.toml atty is unmaintained 1 week ago
docker-compose.yml feat(explorer-api): auto update geoip database (#1684) 1 month ago
lerna.json Feature/wallet delegation UI squashed (#1326) 6 months ago
package.json Add README and example structure 3 weeks ago
yarn.lock Add "attach file" to chat demo 3 weeks ago

README.md

The Nym Privacy Platform

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

  • nym-mixnode - shuffles Sphinx packets together to provide privacy against network-level attackers.
  • 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-gateway - acts sort of like a mailbox for mixnet messages, which removes the need for direct delivery to potentially offline or firewalled devices.
  • 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").
  • nym-explorer - a (projected) block explorer and (existing) mixnet viewer.
  • nym-wallet - a desktop wallet implemented using the Tauri framework.

License Build Status

Building

Platform build instructions are available on our docs site. Wallet build instructions are also available on our docs site.

Developing

There's a .env.sample-dev file provided which you can rename to .env if you want convenient logging, backtrace, or other environment variables pre-set. The .env file is ignored so you don't need to worry about checking it in.

For Typescript components, please see ts-packages.

Developer chat

You can chat to us in Keybase. Download their chat app, then click Teams -> Join a team. Type nymtech.friends into the team name and hit continue. For general chat, hang out in the #general channel. Our development takes places in the #dev channel. Node operators should be in the #node-operators channel.

Rewards

Node, node operator and delegator rewards are determined according to the principles laid out in the section 6 of Nym Whitepaper. Below is a TLDR of the variables and formulas involved in calculating the epoch rewards. Initial reward pool is set to 250 million Nym, making the circulating supply 750 million Nym.

Symbol Definition
global share of rewards available, starts at 2% of the reward pool.
node reward for mixnode i.
ratio of total node stake (node bond + all delegations) to the token circulating supply.
ratio of stake operator has pledged to their node to the token circulating supply.
fraction of total effort undertaken by node i, set to 1/k.
number of nodes stakeholders are incentivised to create, set by the validators, a matter of governance. Currently determined by the reward set size, and set to 720 in testnet Sandbox.
Sybil attack resistance parameter - the higher this parameter is set the stronger the reduction in competitivness gets for a Sybil attacker.
declared profit margin of operator i, defaults to 10% in.
uptime of node i, scaled to 0 - 1, for the rewarding epoch
cost of operating node i for the duration of the rewarding epoch, set to 40 NYMT.

Node reward for node i is determined as:

where:

and

Operator of node i is credited with the following amount:

Delegate with stake s recieves:

where s' is stake s scaled over total token circulating supply.

This program is available as open source under the terms of the Apache 2.0 license. However, some elements are being licensed under CC0-1.0 and MIT. For accurate information, please check individual files.