From 4fa3bd4b72a8c9166bcd53fdab765853317bca0a Mon Sep 17 00:00:00 2001 From: mfahampshire Date: Thu, 26 Sep 2024 18:16:57 +0200 Subject: [PATCH] updating nyx section --- .../docs/pages/network/architecture/mixnet/nodes.mdx | 8 +++++++- .../docs/pages/network/architecture/nyx/_meta.json | 1 + .../pages/network/architecture/nyx/smart-contracts.md | 9 +++++---- .../network/architecture/nyx/smart-contracts/ecash.md | 8 ++++++++ .../network/architecture/nyx/smart-contracts/multisig.md | 5 +++++ .../docs/pages/network/architecture/nyx/validator.md | 6 +++++- 6 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 documentation/docs/pages/network/architecture/nyx/smart-contracts/ecash.md create mode 100644 documentation/docs/pages/network/architecture/nyx/smart-contracts/multisig.md diff --git a/documentation/docs/pages/network/architecture/mixnet/nodes.mdx b/documentation/docs/pages/network/architecture/mixnet/nodes.mdx index 3d7965b4a3..96e645d6ea 100644 --- a/documentation/docs/pages/network/architecture/mixnet/nodes.mdx +++ b/documentation/docs/pages/network/architecture/mixnet/nodes.mdx @@ -1,6 +1,12 @@ +import { Callout } from 'nextra/components' + # Mixnet Nodes -> The node setup and maintenance guides can be found in the [Operator Guides book](../../operators/index). + + +If you want to run a node, the setup and maintenance guides can be found in the [Operator Guides book](../../operators/index). + + Although a large proportion of the Nym mixnet's functionality is implemented client-side, several key anonymity features rely on the decentralised node network that make up the Mixnet. diff --git a/documentation/docs/pages/network/architecture/nyx/_meta.json b/documentation/docs/pages/network/architecture/nyx/_meta.json index be7216db7f..01d3ea8647 100644 --- a/documentation/docs/pages/network/architecture/nyx/_meta.json +++ b/documentation/docs/pages/network/architecture/nyx/_meta.json @@ -1,4 +1,5 @@ { "validator": "Validators", + "nym-api": "(Coming soon) NymAPI", "smart-contracts": "Smart Contracts" } diff --git a/documentation/docs/pages/network/architecture/nyx/smart-contracts.md b/documentation/docs/pages/network/architecture/nyx/smart-contracts.md index a52039cc37..99f4b90c1b 100644 --- a/documentation/docs/pages/network/architecture/nyx/smart-contracts.md +++ b/documentation/docs/pages/network/architecture/nyx/smart-contracts.md @@ -2,7 +2,8 @@ The Nyx blockchain is based on [CosmWasm](https://cosmwasm.com/). -TODO ADD ECASH CONTRACT INFO -There are currently two smart contracts on the Nyx chain: -* the [Mixnet contract](./mixnet-contract.md) which manages the network topology of the mixnet, tracking delegations and rewarding. -* the [Vesting contract](./vesting-contract.md) which manages `NYM` token vesting functionality. +The following contracts are deployed to the chain: +* the [Mixnet contract](./mixnet-contract.md) which manages the network topology of the mixnet and tracks delegations & rewarding. +* the [Vesting contract](./vesting-contract.md) which manages `NYM` token vesting functionality. This will soon be deprecated. +* the [Quorum Multisig](./multisig.md) used by the subset of the Nyx Validators that generate and validate [zk-nyms](../../cryptography/zk-nym) to manage reward payouts for nodes. +* the [zk-nym contract](./ecash.md) which keeps track of `NYM` deposits used as payment for zk-nym generation. diff --git a/documentation/docs/pages/network/architecture/nyx/smart-contracts/ecash.md b/documentation/docs/pages/network/architecture/nyx/smart-contracts/ecash.md new file mode 100644 index 0000000000..e1a082e9c5 --- /dev/null +++ b/documentation/docs/pages/network/architecture/nyx/smart-contracts/ecash.md @@ -0,0 +1,8 @@ +NOTE the contract repo is called 'ecash' from back in the day: this is the contract that is responsible fr zk-nyms tho + +functions - these are controlled by the multisig: +- get blacklisted +- set blacklisted +- deposit funds for tickets (called by zk-nym payment backend) +- propose to redeem tickets (gws call this) +- execute proposals (multisig) diff --git a/documentation/docs/pages/network/architecture/nyx/smart-contracts/multisig.md b/documentation/docs/pages/network/architecture/nyx/smart-contracts/multisig.md new file mode 100644 index 0000000000..97eb02d8fd --- /dev/null +++ b/documentation/docs/pages/network/architecture/nyx/smart-contracts/multisig.md @@ -0,0 +1,5 @@ +# Multisig Contract + +The multisig contract used by the [NymAPI Quroum]() - a subset of the Nyx Validator set taking on the additional work of generating and validating zk-nyms - to execute certain actions in the [zk-nym](./ecash.md) contract. + +It is essentially an instance of the [canonical](https://github.com/CosmWasm/cw-plus/tree/main/contracts) `cw3-flex-multisig` using the `cw4-group` contract, with one minor change to restrict the addresses allowed to submit proposals. diff --git a/documentation/docs/pages/network/architecture/nyx/validator.md b/documentation/docs/pages/network/architecture/nyx/validator.md index 0ac0270bc3..5585360d78 100644 --- a/documentation/docs/pages/network/architecture/nyx/validator.md +++ b/documentation/docs/pages/network/architecture/nyx/validator.md @@ -1,6 +1,10 @@ +import { Callout } from 'nextra/components' + # Validators -> The validator setup and maintenance guide has moved to the [Operator Guides book](https://nymtech.net/operators/nodes/validator-setup.html). + +The validator setup and maintenance guide has moved to the [Operator Guides book](../../operators/index). + Validators secure the Nyx blockchain via Proof of Stake consensus. The Nyx blockchain records the ledger of `NYM` transactions and executes the smart contracts for distributing `NYM` rewards. The Nyx validators are run via the `nyxd` binary ([codebase](https://github.com/nymtech/nyxd)), maintaining a CosmWasm- and IBC-enabled blockchain.