Translations of this article can be found here:
🇯🇵 Japanese version
🇨🇳 Chinese version
Staking is an easy way to make passive income by using your nodes or tokens to take part in our Proof of Stake consensus mechanism.
This guide will give you a step by step overview of how to participate in CENNZnet staking. We will look at:
PoS or Proof of Stake is a consensus mechanism. These are systems used in blockchain networks to achieve agreement (or consensus) on single data values or parts of the network among the decentralised or distributed system.
Proof of Stake uses a system of Validators who are pseudo-randomly selected to forge the next block in the chain. Network members who want to participate in the forging of new blocks do so by staking. Staking is the process of holding funds in a specific cryptocurrency wallet in order to act as collateral for network security.
For more information on the details of the Proof of stake process and how it works on CENNZnet, please refer to our general guide to public staking here.
There are two roles within staking. You can choose to participate as either a validator or a nominator.
Validators: provide computational power to produce blocks. If you run a CENNZnet node, you can become a validator.
Nominators: elect validators by appointing their stake to validators. They share the reward and penalties with the validators they nominate. You need to own at least 10,000 CENNZ to become a nominator as this is the minimum you can stake.
The process for staking is different for Validators and Nominators. This article will go through the process for Nominators and link to the documentation for Validators.
Staking can be accessed through the CENNZnet.io. The staking specific page is located in the sidebar on the left-hand side, labelled Staking.
The Staking page has 3 tabs:
My Stake (note this tab will only appear when you have made a stake)
The Overview tab gives general information about staking and the Validators you can nominate against.
To easily navigate the information we will treat the page as if it shows 2 sections, corresponding to the below screenshot:
List of Validators
On the top line of the Overview tab you can see a selection of data. From left to right these show:
Validators: the first number in the top row shown as a x/y value, displays the number of elected Validators and the number of Validator slots available in the given era. In the screenshot above, there are 11/12, with 11 Validators elected out of 12 possible slots. 1 is waiting for the next election/era.
Waiting: shows how many Validators are waiting to be elected in the next era.
Nominators: shows how many nominators there are in this era.
Next election in: shows how many blocks there are left in the current era. An era is currently about 24 hours on the Main Net and 17280 blocks.
Next reward: shows the amount of reward in CPAY that will be distributed at the end of the current era.
Underneath the General info is the list of Validators that can be nominated for staking. This table shows their status (elected or waiting candidate) and the amount of CENNZ staked behind them — this number includes the Validators own contribution + contributions from their Nominators.
To find out what the icons in the status column stands for, hover over the icons to view more information.
This tab lists all your current staked assets. You can manage your various stake by clicking the cog icon on the right handside. This will bring up the Manage Stake window (we will discuss this in more detail in the Manage Stake section).
This tab is where Nominators can stake their CENNZ by selecting the best Validators and pooling their tokens behind them. We will cover specifically how this process works in the section ‘Staking for Nominators’
Staking for Validators requires setting up and running a node on CENNZnet. All staking actions for Validators are performed via our APIs. This process is described in our GitHub validator guide here.
Staking for nominators can be done in the New Stake tab on the Staking page.
To create a new stake,
Select your Stash account. This is your account that holds the CENNZ you would like to stake.
Select the Reward account. This is the account where you’d like your CPAY reward to be sent to.
Input the amount of CENNZ you want to stake.
Select which Validator/ Validators you want to nominate from the list. You can choose up to 16 Validators to nominate. If you choose multiple Validators your stake will be distributed by an algorithm to ensure the fairest representation of stake and preferences across all nominations.
Check the box to accept the risks and click on the Nominate button.
You can only use an account once in the “New Stake” page. Once you’ve staked, you can’t use that account to stake again, even if you have more money left. If you want to stake again you will need to create another account to stake from and transfer the tokens to it.
To modify an existing stake, for example, add more stake or withdraw from staking, please check the Manage staking section of this article.
Typically you can take part in staking with a single account. However, it can sometimes be useful to set up a separate account, for example if you need someone else to manage your staking, or you have lots of funds and want to keep the stash key “cold” (see cold storage).
In the typical workflow, you use a single account to perform two functions: store the money, and perform staking actions. In the alternative workflow, you have 2 separate accounts for security reasons. These accounts are:
Stash account: is the secure storage for the fund to participate in staking. This is similar to a saving account in traditional banking.
Controller account: is the account that’s authorised to perform staking related actions on behalf of the stash account. The authorisation is done through bonding which you perform before you start staking.
The benefits of this approach are it increases the security of your tokens by shielding your main stash account. If a breach were to occur, your controller account does not have full access to your CENNZ, it is only authorised to move the specific amounts required for staking.
To use this workflow,
Nominate as you would in the typical nominator staking workflow.
Set a controller account to your stake using the Manage staking window as described in the following section.
Once you have staked, your staking will show up in the My Stake tab on the Staking page. This tab lists staking for both validators and nominators.
You can modify your staking any time in the Manage stake window, which can be opened by clicking on the cogwheel button on the right of each staking entry.
The Manage stake window allows you to perform many actions on an existing stake, such as adding to your stake, pausing it, changing your nominations, cancelling your stake or withdrawing your funds, and more.
Each action is described by the text to the right in the drop-down menu. If you edit your nomination, the change will only become active in the next staking era.
Here are some commonly performed actions:
To nominate another validator, use the “Change nominations” action.
To add more funds to your stake, use the “Add stake” action.
To assign a controller account, use the “Change controller account” action.
There are 2 steps to cancelling a stake:
Unstake: schedules some of the bond to be unlocked/ removed from the staking system.
Withdraw: return the unstaked fund to your stash account. Withdraw can only be performed once Unstake has finished.
There is a time delay of 28 days for unstaking. You will not receive any rewards during the 28 day period, because the stake is in transit and can’t be used for anything. This is an industry-wide practise to prevent malicious actors from exiting the system with their stake immediately.
We’ve answered some FAQs for Validators in this article.
Should I take part in staking?If you run a node or own some CENNZ, you should take part in staking to earn rewards from your tokens.
How does the reward distribution work?Please refer to the Rewards section of our validator guide.
Where can I get support?Support for Validators and Nominators can be found on our Discord channel here.