diff --git a/documentation/dev-portal/src/SUMMARY.md b/documentation/dev-portal/src/SUMMARY.md index d55dc2b450..3c1b026533 100644 --- a/documentation/dev-portal/src/SUMMARY.md +++ b/documentation/dev-portal/src/SUMMARY.md @@ -3,13 +3,13 @@ # Summary - [Introduction](introduction.md) +[//]: # (TODO see what you can take from here and put in the intro file ) [//]: # (# Infrastructure) [//]: # () [//]: # (- [What is Nym?](infrastructure/nym.md)) [//]: # (- [Nym vs Other Systems](infrastructure/nym-vs-others.md)) [//]: # (- [Node Types](infrastructure/node-types.md)) - [//]: # (TODO change this to something like 'where to get started and rewrite') # Integrations - [Integration Options](integrations/integration-options.md) @@ -34,6 +34,9 @@ - [Typescript SDK](sdk/typescript.md) # Clients +- [Client Binaries](clients/client-binaries.md) + - [Building Nym](clients/building-nym.md) + - [Prebuilt Binaries](clients/pre-built-binaries.md) - [Clients Overview](clients/overview.md) - [Websocket Client](clients/websocket-client.md) - [Setup Guide](clients/websocket/guide.md) @@ -48,6 +51,14 @@ - [Webassembly Client](clients/webassembly-client.md) - [Addressing System](clients/addressing-system.md) +# Nyx Blockchain +- [Interacting with Nyx Chain and Smart Contracts](nyx/interacting-with-chain.md) +- [Smart Contracts](nyx/smart-contracts.md) + - [Mixnet Contract](nyx/mixnet-contract.md) + - [Vesting Contract](nyx/vesting-contract.md) +- [RPC Nodes](nyx/rpc-node.md) +- [Ledger Live Support](nyx/ledger-live.md) + # User Manuals - [NymVPN alpha](nymvpn/intro.md) - [CLI](nymvpn/cli.md) @@ -58,7 +69,6 @@ - [Browser only](examples/browser-only.md) - [Monorepo examples](examples/monorepo-examples.md) - # Tutorials - [Under Construction](tutorials/comingsoon.md) diff --git a/documentation/docs/src/binaries/building-nym.md b/documentation/dev-portal/src/clients/building-nym.md similarity index 85% rename from documentation/docs/src/binaries/building-nym.md rename to documentation/dev-portal/src/clients/building-nym.md index 9b7da00a98..e11cb068c1 100644 --- a/documentation/docs/src/binaries/building-nym.md +++ b/documentation/dev-portal/src/clients/building-nym.md @@ -8,7 +8,7 @@ Nym has two main codebases: - the [Nym platform](https://github.com/nymtech/nym), written in Rust. This contains all of our code _except_ for the validators. - the [Nym validators](https://github.com/nymtech/nyxd), written in Go. -> This page details how to build the main Nym platform code. **If you want to build and run a validator, [go here](../nodes/validator.md) instead.** +> This page details how to build the main Nym platform code. **If you want to build and run a validator, [go here](../../../docs/src/nodes/validator.md) instead.** ## Prerequisites - Debian/Ubuntu: `pkg-config`, `build-essential`, `libssl-dev`, `curl`, `jq`, `git` @@ -54,19 +54,19 @@ cargo build --release # build your binaries with **mainnet** configuration Quite a bit of stuff gets built. The key working parts are: -* [mix node](../nodes/mixnode.md): `nym-mixnode` -* [gateway node](../nodes/gateway.md): `nym-gateway` +* [mix node](../../../docs/src/nodes/mixnode.md): `nym-mixnode` +* [gateway node](../../../docs/src/nodes/gateway.md): `nym-gateway` * [websocket client](../clients/websocket-client.md): `nym-client` * [socks5 client](../clients/socks5-client.md): `nym-socks5-client` -* [network requester](../nodes/network-requester.md): `nym-network-requester` -* [nym-cli tool](../tools/nym-cli.md): `nym-cli` +* [network requester](../../../docs/src/nodes/network-requester.md): `nym-network-requester` +* [nym-cli tool](../../../docs/src/tools/nym-cli.md): `nym-cli` * [nym-api](https://nymtech.net/operators/nodes/nym-api.html): `nym-api` [//]: # (* [nymvisor](https://nymtech.net/operators/nodes/nymvisor-upgrade.html): `nymvisor`) The repository also contains Typescript applications which aren't built in this process. These can be built by following the instructions on their respective docs pages. -* [Nym Wallet](../wallet/desktop-wallet.md) +* [Nym Wallet](../../../docs/src/wallet/desktop-wallet.md) * [Nym Connect](https://nymtech.net/developers/quickstart/nymconnect-gui.html) -* [Network Explorer UI](../explorers/mixnet-explorer.md) +* [Network Explorer UI](../../../docs/src/explorers/mixnet-explorer.md) > You cannot build from GitHub's .zip or .tar.gz archive files on the releases page - the Nym build scripts automatically include the current git commit hash in the built binary during compilation, so the build will fail if you use the archive code (which isn't a Git repository). Check the code out from github using `git clone` instead. diff --git a/documentation/docs/src/binaries/pre-built-binaries.md b/documentation/dev-portal/src/clients/pre-built-binaries.md similarity index 100% rename from documentation/docs/src/binaries/pre-built-binaries.md rename to documentation/dev-portal/src/clients/pre-built-binaries.md diff --git a/documentation/docs/src/nyx/interacting-with-chain.md b/documentation/dev-portal/src/nyx/interacting-with-chain.md similarity index 83% rename from documentation/docs/src/nyx/interacting-with-chain.md rename to documentation/dev-portal/src/nyx/interacting-with-chain.md index 5ebd5484bd..8f1ff0f1b0 100644 --- a/documentation/docs/src/nyx/interacting-with-chain.md +++ b/documentation/dev-portal/src/nyx/interacting-with-chain.md @@ -1,13 +1,13 @@ # Interacting with Nyx Chain and Smart Contracts There are two options for interacting with the blockchain to send tokens or interact with deployed smart contracts: -* [`Nym-CLI`](../tools/nym-cli.md) tool +* [`Nym-CLI`](../../../docs/src/tools/nym-cli.md) tool * `nyxd` binary ## Nym-CLI tool (recommended in most cases) The `nym-cli` tool is a binary offering a simple interface for interacting with deployed smart contract (for instance, bonding and unbonding a mix node from the CLI), as well as creating and managing accounts and keypairs, sending tokens, and querying the blockchain. -Instructions on how to do so can be found on the [`nym-cli` docs page](../tools/nym-cli.md), and there are example commands in the [integrations FAQ](https://nymtech.net/developers/faq/integrations-faq.html). +Instructions on how to do so can be found on the [`nym-cli` docs page](../../../docs/src/tools/nym-cli.md), and there are example commands in the [integrations FAQ](https://nymtech.net/developers/faq/integrations-faq.html). ## Nyxd binary The `nyxd` binary, although more complex to compile and use, offers the full range of commands availiable to users of CosmosSDK chains. Use this if you are (e.g.) wanting to perform more granular queries about transactions from the CLI. diff --git a/documentation/docs/src/nyx/ledger-live.md b/documentation/dev-portal/src/nyx/ledger-live.md similarity index 100% rename from documentation/docs/src/nyx/ledger-live.md rename to documentation/dev-portal/src/nyx/ledger-live.md diff --git a/documentation/docs/src/nyx/mixnet-contract.md b/documentation/dev-portal/src/nyx/mixnet-contract.md similarity index 100% rename from documentation/docs/src/nyx/mixnet-contract.md rename to documentation/dev-portal/src/nyx/mixnet-contract.md diff --git a/documentation/docs/src/nyx/rpc-node.md b/documentation/dev-portal/src/nyx/rpc-node.md similarity index 100% rename from documentation/docs/src/nyx/rpc-node.md rename to documentation/dev-portal/src/nyx/rpc-node.md diff --git a/documentation/docs/src/nyx/smart-contracts.md b/documentation/dev-portal/src/nyx/smart-contracts.md similarity index 72% rename from documentation/docs/src/nyx/smart-contracts.md rename to documentation/dev-portal/src/nyx/smart-contracts.md index 7c1182e79a..1b9e99fea8 100644 --- a/documentation/docs/src/nyx/smart-contracts.md +++ b/documentation/dev-portal/src/nyx/smart-contracts.md @@ -3,7 +3,7 @@ The Nyx blockchain is based on [CosmWasm](https://cosmwasm.com/). It allows users to code smart contracts in a safe subset of the Rust programming language, easily export them to WebAssembly, and upload them to the blockchain. Information about the chain can be found on the [Nyx blockchain explorer](https://nym.explorers.guru/). 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 [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. > Users will soon be able to create and upload their own CosmWasm smart contracts to Nyx and take advantage of applications such as the Coconut Credential Scheme - more to be announced regarding this very soon. diff --git a/documentation/docs/src/nyx/vesting-contract.md b/documentation/dev-portal/src/nyx/vesting-contract.md similarity index 100% rename from documentation/docs/src/nyx/vesting-contract.md rename to documentation/dev-portal/src/nyx/vesting-contract.md diff --git a/documentation/docs/src/SUMMARY.md b/documentation/docs/src/SUMMARY.md index 70965424b2..fd4764965e 100644 --- a/documentation/docs/src/SUMMARY.md +++ b/documentation/docs/src/SUMMARY.md @@ -6,11 +6,6 @@ - [Network Overview](architecture/network-overview.md) - [Mixnet Traffic Flow](architecture/traffic-flow.md) -# Binaries -- [Pre-built Binaries](binaries/pre-built-binaries.md) - - [Binary Initialisation and Configuration](binaries/init-and-config.md) -- [Building from Source](binaries/building-nym.md) - # Nodes - [Node Types (Previously Setup Guides)](nodes/overview.md) - [Mix Node](nodes/mixnode.md) @@ -25,14 +20,6 @@ # Explorers - [Mixnet Explorer](explorers/mixnet-explorer.md) -# Nyx Blockchain -- [Interacting with Nyx Chain and Smart Contracts](nyx/interacting-with-chain.md) -- [Smart Contracts](nyx/smart-contracts.md) - - [Mixnet Contract](nyx/mixnet-contract.md) - - [Vesting Contract](nyx/vesting-contract.md) -- [RPC Nodes](nyx/rpc-node.md) -- [Ledger Live Support](nyx/ledger-live.md) - # Coconut - [Coconut](coconut.md) - [Bandwidth Credentials](bandwidth-credentials.md) diff --git a/documentation/docs/src/binaries/init-and-config.md b/documentation/docs/src/binaries/init-and-config.md deleted file mode 100644 index 7c519a5889..0000000000 --- a/documentation/docs/src/binaries/init-and-config.md +++ /dev/null @@ -1,20 +0,0 @@ -# Binary Initialisation and Configuration - -All Nym binaries must first be made executable and initialised with `init` before being `run`. - -To make a binary executable, open terminal in the same directory and run: - -```sh -chmod +x -# for example: chmod +x nym-mixnode -``` - -The `init` command is usually where you pass flags specifying configuration arguments such as the gateway you wish to communicate with, the ports you wish your binary to listen on, etc. - -The `init` command will also create the necessary keypairs and configuration files at `~/.nym///` if these files do not already exist. **It will not overwrite existing keypairs if they are present.** - -You can reconfigure your binaries at any time by editing the config file located at `~/.nym///config/config.toml` and restarting the binary process. - -Once you have run `init`, you can start your binary with the `run` command, usually only accompanied by the `id` of the binary that you specified. - -This `id` is **never** transmitted over the network, and is used to select which local config and key files to use for startup. diff --git a/documentation/docs/src/binaries/version-compatiblity.md b/documentation/docs/src/binaries/version-compatiblity.md deleted file mode 100644 index 67e8a71ce6..0000000000 --- a/documentation/docs/src/binaries/version-compatiblity.md +++ /dev/null @@ -1,38 +0,0 @@ -# Version Compatibility Table - -There are numerous components to Nym which are released independently of one another aside from when breaking changes occur in the [core platform code](https://github.com/nymtech/nym/) - mix nodes, gateways, network requesters, and clients. - -Whilst in general it recommended to be running the most recent version of any software, if you cannot do that for whatever reason this table will tell you which versions of different components are mutually compatible with which platform code releases. - - -| Core Platform | SDK | Wallet | NymConnect | Network Explorer | Mixnet contract | Vesting contract | -| ---------------- | ------------- | --------------- | --------------- | ---------------- | --------------- | ---------------- | -| 1.1.13 - 1.1.14* | 1.1.7 | 1.1.12 - 1.1.13 | 1.1.12 - 1.1.13 | 1.1.2 | 1.2.0 - 1.3.0 | 1.2.0 - 1.3.0 | -| 1.1.1 - 1.1.12 | 1.1.4 - 1.1.7 | 1.1.0 - 1.1.12 | 1.1.1 - 1.1.12 | 1.1.0 - 1.1.2 | 1.1.0 - 1.1.3 | 1.1.0 - 1.1.3 | -| 1.1.0 - 1.1.1 | 1.1.4 | 1.1.0 | 1.1.0 - 1.1.1 | 1.1.0 | 1.1.0 | 1.1.0 | -| 1.1.0 | x | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | - -`*` the `nym-mixnode` binary is currently one point ahead of the main platform release version - -> There are seperate changelogs for [`NymConnect`](https://github.com/nymtech/nym/blob/release/{{platform_release_version}}/nym-connect/CHANGELOG.md) and the [`Desktop Wallet`](https://github.com/nymtech/nym/blob/release/{{platform_release_version}}/nym-wallet/CHANGELOG.md). The changelog referenced below is for the core platform code. - -| Platform release changelog | -| ---------------------------------------------------------------------------------------- | -| 1.1.14 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.14/CHANGELOG.md)) | -| 1.1.13 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.13/CHANGELOG.md)) | -| 1.1.12 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.12/CHANGELOG.md)) | -| 1.1.11 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.11/CHANGELOG.md)) | -| 1.1.10 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.10/CHANGELOG.md)) | -| 1.1.9 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.9/CHANGELOG.md)) | -| 1.1.8 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.8/CHANGELOG.md)) | -| 1.1.7 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.7/CHANGELOG.md)) | -| 1.1.6 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.6/CHANGELOG.md)) | -| 1.1.5 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.5/CHANGELOG.md)) | -| 1.1.4 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.4/CHANGELOG.md)) | -| 1.1.3 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.3/CHANGELOG.md)) | -| 1.1.2 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.2/CHANGELOG.md)) | -| 1.1.1 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.1/CHANGELOG.md)) | -| 1.1.0 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.0/CHANGELOG.md)) | -| 1.0.2 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.2/CHANGELOG.md)) | -| 1.0.1 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.1/CHANGELOG.md)) | -| 1.0.0 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.0/CHANGELOG.md)) | diff --git a/documentation/docs/src/explorers/mixnet-explorer.md b/documentation/docs/src/explorers/mixnet-explorer.md index 2aa52c4aaf..43d0453e7b 100644 --- a/documentation/docs/src/explorers/mixnet-explorer.md +++ b/documentation/docs/src/explorers/mixnet-explorer.md @@ -34,7 +34,7 @@ If you really don't want to use the shell script installer, the [Rust installati ### Local Development -Complete the steps in the [building nym](../binaries/building-nym.md) section, before `cd`-ing into `nym/explorer`. +Complete the steps in the [building nym](../../../dev-portal/src/clients/building-nym.md) section, before `cd`-ing into `nym/explorer`. Start a development server with hot reloading running on `http://localhost:3000` with the following commands from inside the `explorer` directory: @@ -63,7 +63,7 @@ npm run lint:fix Please see the development docs in `explorer/docs` for more information on the structure and design of this app. ### Deployment -Complete the steps in the [building nym](../binaries/building-nym.md) section, before `cd`-ing into `nym/explorer`. +Complete the steps in the [building nym](../../../dev-portal/src/clients/building-nym.md) section, before `cd`-ing into `nym/explorer`. > The Network Explorer should be run on a machine with at least 4GB of RAM - the build process might fail if run on a less powerful machine. diff --git a/documentation/docs/src/introduction.md b/documentation/docs/src/introduction.md index 189badbd0e..ae25e5bf1d 100644 --- a/documentation/docs/src/introduction.md +++ b/documentation/docs/src/introduction.md @@ -18,9 +18,9 @@ If you're specifically looking for TypeScript/JavaScript related information suc * [Rust SDK](sdk/rust/rust.md) **Nyx** -* [Interacting with the Nyx chain](./nyx/interacting-with-chain.md) -* [Ledger Live setup](./nyx/ledger-live.md) -* [RPC Node](./nyx/rpc-node.md) +* [Interacting with the Nyx chain](../../dev-portal/src/nyx/interacting-with-chain.md) +* [Ledger Live setup](../../dev-portal/src/nyx/ledger-live.md) +* [RPC Node](../../dev-portal/src/nyx/rpc-node.md) **Client setup and usage guides:** * [Websocket client](./clients/websocket-client.md) diff --git a/documentation/docs/src/nodes/validator.md b/documentation/docs/src/nodes/validator.md index 855cf21700..78b45e22f3 100644 --- a/documentation/docs/src/nodes/validator.md +++ b/documentation/docs/src/nodes/validator.md @@ -4,7 +4,7 @@ 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. -The blockchain plays a supporting but fundamental role in the mixnet: the `NYM` token used to incentivise node operators is one of two native tokens of the chain, and the chain is where the [Mixnet](../nyx/mixnet-contract.md) and [Vesting](../nyx/vesting-contract.md) smart contracts are deployed. +The blockchain plays a supporting but fundamental role in the mixnet: the `NYM` token used to incentivise node operators is one of two native tokens of the chain, and the chain is where the [Mixnet](../../../dev-portal/src/nyx/mixnet-contract.md) and [Vesting](../../../dev-portal/src/nyx/vesting-contract.md) smart contracts are deployed. ## Further Reading * Detailed info on Nyx Validators and token flow can be found in [Nym Reward Sharing for Mixnets document](https://nymtech.net/nym-cryptoecon-paper.pdf) in section 2.3 and 2.4. diff --git a/documentation/docs/src/tools/nym-cli.md b/documentation/docs/src/tools/nym-cli.md index b6ed36bfa7..f218e9fa44 100644 --- a/documentation/docs/src/tools/nym-cli.md +++ b/documentation/docs/src/tools/nym-cli.md @@ -304,7 +304,7 @@ Verify a signature. ### Create a Vesting Schedule -Creates a vesting schedule for an account in the [vesting smart contract](../nyx/vesting-contract.md). +Creates a vesting schedule for an account in the [vesting smart contract](../../../dev-portal/src/nyx/vesting-contract.md). ``` ./nym-cli vesting-schedule create --mnemonic --address
--amount @@ -312,7 +312,7 @@ Creates a vesting schedule for an account in the [vesting smart contract](../nyx ### Query a Vesting Schedule -Query for vesting schedule in the [vesting smart contract](../nyx/vesting-contract.md). +Query for vesting schedule in the [vesting smart contract](../../../dev-portal/src/nyx/vesting-contract.md). ``` ./nym-cli vesting-schedule query --mnemonic diff --git a/documentation/docs/src/wallet/cli-wallet.md b/documentation/docs/src/wallet/cli-wallet.md index a619564672..c3fab9f598 100644 --- a/documentation/docs/src/wallet/cli-wallet.md +++ b/documentation/docs/src/wallet/cli-wallet.md @@ -5,4 +5,4 @@ If you have already read our validator setup and maintenance [documentation](htt ### Using `nyxd` binary as a CLI wallet You can use the `nyxd` as a minimal CLI wallet if you want to set up an account (or multiple accounts). Just compile the binary as per the documentation, **stopping after** the [building your validator](https://nymtech.net/operators/nodes/validator-setup.html#building-your-validator) step is complete. You can then run `nyxd keys --help` to see how you can set up and store different keypairs with which to interact with the Nyx blockchain. -For more on interacting with the chain, see the [Interacting with Nyx Chain and Smart Contracts](../nyx/interacting-with-chain.md) page. +For more on interacting with the chain, see the [Interacting with Nyx Chain and Smart Contracts](../../../dev-portal/src/nyx/interacting-with-chain.md) page.