cont. with restructure
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
# Building from Source
|
||||
|
||||
> Nym runs on Mac OS X, Linux, and Windows. All nodes **except the Desktop Wallet and NymConnect** on Windows should be considered experimental - it works fine if you're an app developer but isn't recommended for running nodes.
|
||||
|
||||
## Building Nym
|
||||
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.**
|
||||
|
||||
## Prerequisites
|
||||
- Debian/Ubuntu: `pkg-config`, `build-essential`, `libssl-dev`, `curl`, `jq`, `git`
|
||||
|
||||
```
|
||||
apt install pkg-config build-essential libssl-dev curl jq git
|
||||
```
|
||||
|
||||
- Arch/Manjaro: `base-devel`
|
||||
|
||||
```
|
||||
pacman -S base-devel
|
||||
```
|
||||
|
||||
- Mac OS X: `pkg-config` , `brew`, `openss1`, `protobuf`, `curl`, `git`
|
||||
Running the following the script installs Homebrew and the above dependencies:
|
||||
|
||||
```
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
- `Rust & cargo >= {{minimum_rust_version}}`
|
||||
|
||||
We recommend using the [Rust shell script installer](https://www.rust-lang.org/tools/install). Installing cargo from your package manager (e.g. `apt`) is not recommended as the packaged versions are usually too old.
|
||||
|
||||
If you really don't want to use the shell script installer, the [Rust installation docs](https://forge.rust-lang.org/infra/other-installation-methods.html) contain instructions for many platforms.
|
||||
|
||||
## Download and build Nym binaries
|
||||
The following commands will compile binaries into the `nym/target/release` directory:
|
||||
|
||||
```sh
|
||||
rustup update
|
||||
git clone https://github.com/nymtech/nym.git
|
||||
cd nym
|
||||
|
||||
git reset --hard # in case you made any changes on your branch
|
||||
git pull # in case you've checked it out before
|
||||
|
||||
git checkout master # master branch has the latest release version: `develop` will most likely be incompatible with deployed public networks
|
||||
|
||||
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`
|
||||
* [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`
|
||||
* [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 Connect](https://nymtech.net/developers/quickstart/nymconnect-gui.html)
|
||||
* [Network Explorer UI](../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.
|
||||
@@ -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 <BINARY_NAME>
|
||||
# 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/<BINARY_TYPE>/<BINARY_ID>/` 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/<BINARY_TYPE>/<BINARY_ID>/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.
|
||||
@@ -1,6 +0,0 @@
|
||||
# Pre-built Binaries
|
||||
|
||||
The [Github releases page](https://github.com/nymtech/nym/releases) has pre-built binaries which should work on Ubuntu 20.04 and other Debian-based systems, but at this stage cannot be guaranteed to work everywhere.
|
||||
|
||||
If the pre-built binaries don't work or are unavailable for your system, you will need to build the platform yourself.
|
||||
|
||||
@@ -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)) |
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# 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
|
||||
* `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).
|
||||
|
||||
## 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.
|
||||
|
||||
You can use the instructions on how to do this on from the [`gaiad` docs page](https://hub.cosmos.network/main/delegators/delegator-guide-cli.html#querying-the-state), and there are example commands in the [integrations FAQ](https://nymtech.net/developers/faq/integrations-faq.html).
|
||||
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
# Ledger Live Support
|
||||
|
||||
Use the following instructions to interact with the Nyx blockchain - either with deployed smart contracts, or just to send tokens - using your Ledger device to sign transactions.
|
||||
|
||||
## Prerequisites
|
||||
* Download and install [Ledger Live](https://www.ledger.com/ledger-live).
|
||||
* Compile the `nyxd` binary as per the instructions [here](https://nymtech.net/operators/nodes/validator-setup.html#building-the-nym-validator). Stop after you can successfully run `nyxd` and get the helptext in your console output.
|
||||
|
||||
## Prepare your Ledger App
|
||||
* Plug in your Ledger device
|
||||
* Install the `Cosmos (ATOM)` app by following the instructions [here](https://hub.cosmos.network/main/resources/ledger.html). This app allows you to interact with **any** Cosmos SDK chain - you can manage your ATOM, OSMOSIS, NYM tokens, etc.
|
||||
* On the device, navigate to the Cosmos app and open it
|
||||
|
||||
## Create a keypair
|
||||
Add a reference to the ledger device on your local machine by running the following command in the same directory as your `nyxd` binary:
|
||||
|
||||
```
|
||||
nyxd keys add ledger_account --ledger
|
||||
```
|
||||
|
||||
## Command help with `nyxd`
|
||||
More information about each command is available by consulting the help section (`--help`) at each layer of `nyxd`'s commands:
|
||||
|
||||
```
|
||||
# logging top level command help
|
||||
nyxd --help
|
||||
|
||||
# logging top level command help for transaction commands
|
||||
nyxd tx --help
|
||||
|
||||
# logging top level command help for transaction commands utilising the 'bank' module
|
||||
nyxd tx bank --help
|
||||
```
|
||||
|
||||
## Sending tokens between addresses
|
||||
Perform a transaction from the CLI with `nyxd`, appending the `--ledger` option to the command.
|
||||
|
||||
As an example, the below command will send 1 `NYM` from the ledger account to the `$DESTINATION_ACCOUNT`:
|
||||
|
||||
```
|
||||
nyxd tx bank send ledger_account $DESTINATION_ACCOOUNT 1000000unym --ledger --node https://rpc.dev.nymte.ch:443
|
||||
```
|
||||
|
||||
> When a command is run, the transaction will appear on the Ledger device and will require physical confirmation from the device before being signed.
|
||||
|
||||
## Nym-specific transactions
|
||||
Nym-specific commands and queries, like bonding a mix node or delegating unvested tokens, are available in the `wasm` module, and follow the following pattern:
|
||||
|
||||
```
|
||||
# Executing commands
|
||||
nyxd tx wasm execute $CONTRACT_ADDRESS $JSON_MSG
|
||||
|
||||
# Querying the state of a smart contract
|
||||
nyxd query wasm contract-state smart $CONTRACT_ADDRESS $JSON_MSG
|
||||
```
|
||||
|
||||
You can find the value of `$CONTRACT_ADDRESS` in the [`network defaults`](https://github.com/nymtech/nym/blob/release/v1.1.7/common/network-defaults/src/mainnet.rs) file.
|
||||
|
||||
The value of `$JSON_MSG` will be a blog of `json` formatted as defined for each command and query. You can find these definitions for the mixnet smart contract [here](https://github.com/nymtech/nym/blob/develop/common/cosmwasm-smart-contracts/mixnet-contract/src/msg.rs) and for the vesting contract [here](https://github.com/nymtech/nym/blob/develop/common/cosmwasm-smart-contracts/vesting-contract/src/messages.rs) under `ExecuteMsg` and `QueryMsg`.
|
||||
|
||||
### Example command execution:
|
||||
#### Delegate to a mix node
|
||||
You can delegate to a mix node from the CLI using `nyxd` and signing the transaction with your ledger by filling in the values of this example:
|
||||
```
|
||||
CONTRACT_ADDRESS=mixnet_contract_address
|
||||
|
||||
./nyxd tx wasm execute $CONTRACT_ADDRESS '{"delegate_to_mixnode":{"mix_identity":"MIX_NODE_IDENTITY","amount":{"amount":"100000000000","denom":"unym"}}}' --ledger --from admin --node https://rpc.dev.nymte.ch:443 --gas-prices 0.025unymt --gas auto -b block
|
||||
```
|
||||
|
||||
> By replacing the value of `CONTRACT_ADDRESS` with the address of the vesting contract, you could use the above command to use tokens held in the vesting contract.
|
||||
|
||||
#### Query a vesting schedule
|
||||
You can query for (e.g.) seeing the current vesting period of an address by filling in the values of the following:
|
||||
```
|
||||
CONTRACT_ADDRESS=vesting_contract_address
|
||||
|
||||
nyxd query wasm contract-state smart $CONTRACT_ADDRESS '{"get_current_vesting_period"}:{"address": "address_to_query_for"}' --ledger --from admin --node https://rpc.dev.nymte.ch:443 --chain-id qa-net --gas-prices 0.025unymt --gas auto -b block
|
||||
```
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# Mixnet Contract
|
||||
|
||||
The Mixnet smart contract is a core piece of the Nym system, functioning as the mixnet directory and keeping track of delegations and rewards: the core functionality required by an incentivised mixnet. You can find the code and build instructions [here](https://github.com/nymtech/nym/tree/master/contracts/mixnet).
|
||||
|
||||
### Functionality
|
||||
The Mixnet contract has multiple functions:
|
||||
* storing bonded mix node and gateway information (and removing this on unbonding).
|
||||
* providing the network-topology to the (cached) validator API endpoint used by clients on startup for routing information.
|
||||
* storing delegation and bond amounts.
|
||||
* storing reward amounts.
|
||||
|
||||
The addresses of deployed smart contracts can be found in the [`network-defaults`](https://github.com/nymtech/nym/blob/master/common/network-defaults/src/mainnet.rs) directory of the codebase alongside other network default values.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# RPC Nodes
|
||||
|
||||
RPC Nodes (which might otherwise be referred to as 'Lite Nodes' or just 'Full Nodes') differ from Validators in that they hold a copy of the Nyx blockchain, but do **not** participate in consensus / block-production.
|
||||
|
||||
You may want to set up an RPC Node for querying the blockchain, or in order to have an endpoint that your app can use to send transactions.
|
||||
|
||||
In order to set up an RPC Node, simply follow the instructions to set up a [Validator](https://nymtech.net/operators/nodes/validator-setup.html), but **exclude the `nyxd tx staking create-validator` command**.
|
||||
|
||||
If you want to fast-sync your node, check out the Polkachu snapshot and their other [resources](https://polkachu.com/seeds/nym).
|
||||
@@ -1,9 +0,0 @@
|
||||
# Smart Contracts
|
||||
|
||||
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.
|
||||
|
||||
> 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.
|
||||
@@ -1,11 +0,0 @@
|
||||
# Vesting Contract
|
||||
|
||||
The vesting contract allows for the creation of vesting accounts, allowing `NYM` tokens to vest over time, and for users to minimally interact with the Mixnet using their unvested tokens. You can find the code and build instructions [here](https://github.com/nymtech/nym/tree/master/contracts/vesting).
|
||||
|
||||
### Functionality
|
||||
The Vesting contract has multiple functions:
|
||||
* Creating and storing vesting `NYM` token vesting accounts.
|
||||
* Interacting with the Mixnet using vesting (i.e. non-transferable) tokens, allowing users to delegate their unvested tokens.
|
||||
|
||||
The addresses of deployed smart contracts can be found in the [`network-defaults`](https://github.com/nymtech/nym/blob/master/common/network-defaults/src/mainnet.rs) directory of the codebase alongside other network default values.
|
||||
|
||||
@@ -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 <mnemonic> --address <ADDRESS> --amount <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 <mnemonic>
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user