Skip to content

Commit

Permalink
Merge pull request #6 from HolyGrease/main
Browse files Browse the repository at this point in the history
Update chain docs
  • Loading branch information
avive authored Sep 20, 2023
2 parents 613b3b9 + 8c4c12d commit 347b4f0
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 122 deletions.
97 changes: 0 additions & 97 deletions versioned_docs/version-0.1.0/testnet/basics.md

This file was deleted.

35 changes: 35 additions & 0 deletions versioned_docs/version-0.1.0/testnet/nominator.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
id: nominator
title: Become a nominator
sidebar_label: 📜 Become a nominator
---

Nominators are one type of participant in the staking subsystem of Polkadot. They appoint their stake to the validators, the second type of participant. By appointing their stake, they can elect the active set of validators and share in the rewards that are paid out.

While the validators are active participants in the network that engage in the block production and finality mechanisms, nominators take a slightly more passive role. Being a nominator does not require running a node of your own or worrying about online uptime. However, a good nominator performs due diligence on the validators that they elect. When looking for validators to nominate, a nominator should pay attention to their own reward percentage for nominating a specific validator - as well as the risk that they bear of being slashed if the validator gets slashed.

If you are a beginner, please watch the [video](https://www.youtube.com/watch?v=F59N3YKYCRs) below for detailed instructions.

### Create Accounts
- To start validating, you need to create a `Stash account`.
- The `Stash account` is where you keep most of your coins. It is the custodian of your staking funds.
- You can use any Substrate-compatible wallet to create these accounts. We recommend using the [polkadot.js extension](https://chrome.google.com/webstore/detail/polkadot%7Bjs%7D-extension/mopnmbcafieddcagagdcbnhejhlodfdd). Refer to this guide [Create an Account using Polkadot JS Extension](https://www.youtube.com/watch?v=sy7lvAqyzkY) for more information about using the extension.

## Request Testnet Coins
- Join the Karma Coin [Testnet Telegram Channel](https://t.me/karmacoinapp/293).
- The basic accounting unit of Karmachain is `Karma Coin` (KCOIN). The minimum amount is one-millionth KCOIN which is 1 Karma Cent (KCENT). 1 KCENT is one Micro KCOIN.
- The minimum testnet bonding amount is 1 KCOIN. We configured it in this way to make it easy to bond and validate.
- Share the public address of you `Stash account` and request testnet KCOINs for your bond.

## Nominating
Go to Network > Staking > Accounts. Then press `Nominator` button.
- `Stash account` - Select your Stash account. Make sure that your `Stash account` contains at least this much. You can, of course, stake more than this.
- `Value bonded` - How much KCOINs from the Stash account you want to bond/stake. Note that you do not need to bond all the KCOINs in that account. Also note that you can always bond more KCOINs later. However, withdrawing any bonded amount requires the duration of the un-bonding period.
- `Payment destination` - The account where the rewards from validating are sent. Payouts can go to any account. If you'd like to redirect payments to an account that is neither the controller nor the stash account, set one up. Note that it is extremely unsafe to set an exchange address as the recipient of your staking rewards.
- Next, click `Next` and choose validators that you want to nominate.
- Now, click `Bond & Nominate` and sign transaction with your `Stash account`. You should see an ExtrinsicSuccess message in about a minute.

## Nominator management
- You can change your nominations at any time by clicking on three dots on the right side of your account and then clicking `Set nominees`.
- You can also change your `Payment destination` by clicking on three dots on the right side of your account and then clicking `Change reward destination`.
- Bond more funds or unbond funds in same menu.
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
---
id: tn2-parameters
title: Karmachain 2.0 Testnet 2 Parameters
sidebar_label: Testnet 2 Params
id: tn3-parameters
title: Karmachain 3.0 Testnet 3 Parameters
sidebar_label: Testnet 3 Params
description: Learn about common testnet parameters
keywords: [parameters, testnet2, tn2, on-chain]
keywords: [parameters, testnet3, tn3, on-chain]
---

### Periods of common actions and attributes

- Slot: 12 seconds \*(generally one block per slot, although see note below)
- Epoch: 1 hour (300 slots x 12 seconds)
- Session: 1 hour (6 sessions per Era)
- Era: 6 hours (1800 slots x 12 seconds)
- Epoch: 4 hour (1200 slots x 12 seconds)
- Session: 4 hour (6 sessions per Era)
- Era: 24 hours (7200 slots x 12 seconds)

| Kusama | Time | Slots\* |
| ------- | --------- | ------- |
| Slot | 6 seconds | 1 |
| Epoch | 1 hour | 300 |
| Session | 1 hour | 300 |
| Era | 6 hours | 1_800 |
| Kusama | Time | Slots\* |
| ------- | ---------- | ------- |
| Slot | 6 seconds | 1 |
| Epoch | 4 hour | 1200 |
| Session | 4 hour | 1200 |
| Era | 24 hours | 7_200 |

\*_A maximum of one block per slot can be in a canonical chain. Occasionally, a slot will be without
a block in the chain. Thus, the times given are *estimates*. See
Expand All @@ -31,14 +31,13 @@ a block in the chain. Thus, the times given are *estimates*. See

### Staking, Validating, and Nominating

A maximum of 40 validators can be nominated by a nominator on Karmachain.
A maximum of 100 validators can be nominated by a nominator on Karmachain.

| Karmachain | Time | Slots | Description |
| -------------------- | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Term duration | 6 hours | 1_800 | The time for which a validator is in the set after being elected. Note, this duration can be shortened in the case the a validator misbehaves. |
| Nomination period | 6 hours | 1_800 | How often a new validator set is [elected](https://guide.kusama.network/docs/learn-phragmen.md). |
| Bonding duration | 7 days | 302_400 | How long until your funds will be transferrable after unbonding. Note that the bonding duration is defined in eras, not directly by slots. |
| Slash defer duration | 7 days | 302_400 | Prevents overslashing and validators "escaping" and getting their nominators slashed with no repercussions to themselves. Note that the bonding duration is defined in eras, not directly by slots. |
| Term duration | 24 hours | 7_200 | The time for which a validator is in the set after being elected. Note, this duration can be shortened in the case the a validator misbehaves. |
| Nomination period | 24 hours | 7_200 | How often a new validator set is [elected](https://guide.kusama.network/docs/learn-phragmen.md). |
| Bonding duration | 24 hours | 7_200 | How long until your funds will be transferrable after unbonding. Note that the bonding duration is defined in eras, not directly by slots. |

### Rewards

Expand All @@ -61,7 +60,7 @@ Signup rewards are designed to solve the cryptocurrency on ramp problem. Upon si

#### Karma Rewards

* Every 24 hours, the protocol mints 10 KCs to up to 10 random users from the top 100 users with the highest Karma Score who didn't get this award yet who had appreciated at least 1 people in that time period.
* Every month, the protocol mints 10 KCs to up to 500 random users who didn't get this award yet who had appreciated at least 2 people in that time period.
* Up to 300M KCs are allocated for this reward. When these have been allocated the protocol stops rewarding users with top karma.
* Deterministic randomness is provided by Karmachain.

Expand All @@ -71,7 +70,7 @@ The protocol allocates up 250M KCs as transaction fees subsidies. Fees susedies

* Only the first 10 transactions per user are eligible for transaction fees subsidies to mitigate spam attacks.
* These intentional design decision is designed to encourage sign-ups, appreciation, and coin usage in the real-world as means of tipping, appreciation and payment.
* After the 250M KCs have been minted for fees subsidies, the protocol keeps minting 1 KCent for each transaction to subsidize the transaction fees of signup transactions. This is required to seamlessly onboard new users. This amounts to issuance of 1 KCs for 1 million new users, so it doesn't change the overall supply significantly in the long term.
* After the 250M KCs have been minted for fees subsidies, the protocol keeps minting 10 KCent for each transaction to subsidize the transaction fees of signup transactions. This is required to seamlessly onboard new users.

### Precision

Expand Down
10 changes: 5 additions & 5 deletions versioned_docs/version-0.1.0/testnet/validator.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Running a Validator Node
sidebar_label: 📜 Running a Node
---

Follow the instructions in this document to run your own a validator node on the [karmachain 2.0 Testnet 2.1 (TN2.1)](https://github.com/karma-coin/karmachain/releases/tag/v0.2.1).
Follow the instructions in this document to run your own a validator node on the [karmachain 3.0 Testnet 3 (TN3)](https://github.com/karma-coin/karmachain/releases/tag/v0.3.0).

## System Requirements
- The specs posted below are not a hard requirement to run a validator, but are considered best practice.
Expand Down Expand Up @@ -34,13 +34,13 @@ Follow the instructions in this document to run your own a validator node on the
## Dev Environment Setup
Running a validator node requires [Docker](https://docs.docker.com/engine/install/).

## Read Testnet 2 Release Notes
Read the latest [testnet reelase notes](https://github.com/karma-coin/karmachain/releases/tag/v0.2.1).
## Read Testnet 3 Release Notes
Read the latest [testnet release notes](https://github.com/karma-coin/karmachain/releases/tag/v0.3.0).

## Run your node
The Karmachain TN2 node is available as a docker image on [DockerHub](https://hub.docker.com/layers/teamkarmacoin/karmachain/tn2.1/images/sha256-3c32d0b0896b8c67eb0f3a7221cfc430432c33d5569fc8e05c0eaa07d49deaac?context=explore).
The Karmachain TN3 node is available as a docker image on [DockerHub](https://hub.docker.com/layers/teamkarmacoin/karmachain/tn3/images/sha256-3c32d0b0896b8c67eb0f3a7221cfc430432c33d5569fc8e05c0eaa07d49deaac?context=explore).

Alternatively, you can clone the Karmachain open source Github repo and build a docker image directly from source code. To do so, git check out the code from the [release tag](https://github.com/karma-coin/karmachain/tree/v0.2.0), build a local docker image and modify the docker run command below to use your local image instead of the dockerhub one.
Alternatively, you can clone the Karmachain open source Github repo and build a docker image directly from source code. To do so, git check out the code from the [release tag](https://github.com/karma-coin/karmachain/tree/v0.3.0), build a local docker image and modify the docker run command below to use your local image instead of the dockerhub one.

1. Install `docker` for your platform.

Expand Down

0 comments on commit 347b4f0

Please sign in to comment.