* A pull request for discussion about contract state variables * Updated contract state struct * Introduced transaction to update the contract state * Moved transactions to separate file * Corrected return type on query * Corrected query match * Added test for state params query * Test for state params update * Removed unused imports * Helper functions to query for state params * Removed hardcoded inside bond, old mix bond value * Helper function to update contract state * Changed typescript StateParam from numbers to strings * Somehow unresolved post-merge issues in tests * Introduced additional helpers for the validator client to use the new contract features * Using the state-specified bond values Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
The Nym Privacy Platform
This repository contains the Nym mixnet.
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, removing the need for directly 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.
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.
Licensing and copyright information
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.