1200a2f02de594e84de918a83f2a0044f247d207
* validator: adding Diesel ORM * validator: making sure Iron::status is always avaialable * ibid * validator: presence-announcement REST API * validator: adding Diesel setup * Removing Diesel stuff from root of monorepo * validator: adding Diesel migrations and setup * validator: documenting how PresenceAnnouncement is different from presence. * validator: added Chrono crate for datetime conversions into sql * validator: restructured the presence module * validator: removed presence announcements from persistence * validator: commenting topology * Adding staking to the mixmining service * Start of mixmining + stake service * validator: added a bit about mixmining to README * validator: added Iron's params crate * validator: reorganized mixmining service and db code * validator: no need for this .env warning * validator: removing params parser, it's now unused * validator: adding json body parser library for Iron * validator: adding spelling exceptions * validator: adding bodyparser deps * validator: ability to (de)serialize Mixnode struct * validator: further announcement HTTP progress * validator: simplified announcement route * validator: injecting database and service into handler * validator: renaming service and db variables * validator: using camelCase json * validator: using base Iron handler rather than middleware handler * validator: better error message on unexpected json parsing * validator: adding 'location' to presence::Announcement * comments on mixmining::Db * validator: commenting out unused mixmining::Service methods for the moment * validator: noting that we don't yet know how to measure capacity * validator: comments * validator: starting to add correct serializers in rest API * validator: renaming a mixnode announcements * validator: extracted route creation * validator: going lower-case for node in "Mixnode" * validator: removing the "announcement" model * validator: renamed annoucements handlers * validator: temporarily removed Chrono, remove it fully if it's not needed. * validator: added all the needed Mixnode fields to the service model * validator: moved models into their own file. * validator: conversions to/from api vs service models * validator: doing type conversions from rest to service models * validator: unused import cleanup * validator: rewrote mixmining service comments in light of recent thinking * validator: some notes on type conversion tests * wip * validator: getting capacity from db works * wip * validator: eliminating borrows so we can have something pure to mutex out on * validator: a working mutex on the mixmining service * validator: renaming mixmining db get_capacity to capacity * validator: making mixmining db capacity field private, using accessor * validator: local capacity updates working * validator: starting REST API for staking * validator: fixing clippy warning * validator: minor naming fixes on mixmining service * validator: service mixnode and rest mixnode + topology conversions + tests * validator: renaming mix_nodes to mixnodes for consistency * validator: test fixtures for mixnode * validator: moved service models into their own file * validator: a properly-structured toplogy route * validator: topology retrieval * validator: killed test fixture warning * validator: getting set for topology equality checks (testing purposes) * validator: otherway conversions for topology and mixnode types * validator: initial topology retrieval working * validator: ditching go-ish variable name :) * ibid * validator: added a StakeUpdate struct to get around cargo fmt failing * validator: commenting out struct so kill warning * Ignoring validator vscode settings * ibid * ibid
The Nym Privacy Platform
This repository contains the full Nym 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-sfw-provider - a store-and-forward service provider. The provider acts sort of like a mailbox for mixnet messages.
- nym-validator - currently just starting development. Handles consensus ordering of transactions, mixmining, and coconut credential generation and validation.
Building
Platform build instructions are 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.
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.
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%