Consensus Miner

Section Brief:

Mining preparation


Recommended OS and Version

Ubuntu_x64 20.04 or higher

CPU Core

≥ 4

Memory (SGX encrypted memory)

≥ 64 GB


≥ 5 M

Public network IP


Intel SGX Enable


Linux Kernel Version

5.11 or higher

⚠️The CPU must support SGX (Software Guard Extensions) technology and FLC (Flexible Launch Control). The BIOS must support Intel SGX, and must enable the Intel SGX option. Please refer to the server manufacturer's BIOS guide to enable SGX functionality. Check out the CPU models that support SGX: CPU models.

The machine must use a fixed public network IP. The traffic exit must be in the same network segment as the fixed public network IP. Execute the following command to confirm they are in the same network segment.


Prepare CESS Account

Consensus miner needs to create two accounts

  • 💰Stash account: for consensus miner’s staking and it requires at least 300000 TCESS, to ensure the successfulness, 1 more TCESS is recommended for the transaction.

  • 🎮Controller account: for paying gas fees and it requires at least 100 TCESS.

Please refer to the CESS Account section above for creating a CESS account. Please join CESS Telegram miner support sub-channel to receive TCESS tokens for staking.

After the wallet account is created, navigate to CESS Explorer

Install cess-nodeadm

⚠️If you have previously deployed nodeadm on your machine, please jump to this and then go to the next section. If you are new, just ignore it.

The "cess-nodeadm" is a CESS node deployment and management program. It can help deploy and manage storage nodes, consensus nodes and full nodes, lowering the operating threshold for all CESS miners.

tar -xvf v0.4.4.tar.gz
cd cess-nodeadm-0.4.4/
sudo ./

⚠️Please make sure the cess-nodeadm version is correct, check the most updated version.

If Install cess nodeadm success shows up, the installation is successful .

Open firewall ports

If your firewall is enabled, the following ports should be accessible externally: 10010, 4001, 30336.

Set up Configuration

Note: ost cess commands require sudo permission

cess config set
root@aMUEwB1533:~/cess-nodeadm-0.3.x# cess config set
Enter cess node mode from 'authority/storage/watcher' (current: authority, press enter to skip): 
Enter cess node name (current: cess, press enter to skip):
Enter external ip for the machine (current: 108.....215.27, press enter to skip): 
Enter cess chain ws url (current:ws://, press enter to skip): 
Enter cess validator stash account (current: cXgAN.....aNK...cZj, press enter to skip): 
Enter cess validator controller phrase (current: venue symbol...... cheese, press enter to skip): 
Set configurations successfully

Intel SGX is already enabled on this system
Start generate configurations and docker compose file
debug: Loading config file: config.yaml
info: Generating configurations done
info: Generating docker compose file done
Configurations generated at: /opt/cess/nodeadm/build
try pull images, node mode: authority
download image: cesslab/cess-chain:latest
latest: Pulling from cesslab/cess-chain
3b65ec22a9e9: Already exists 
6e4a9a61f489: Pull complete 
Digest: sha256:5652dce2bd28796......
Status: Downloaded newer image for cesslab/cess-chain:latest
download image: cesslab/kaleido:latest
latest: Pulling from cesslab/kaleido
Digest: sha256:49899acaafd11982......
Status: Image is up to date for cesslab/kaleido:latest
download image: cesslab/kaleido-rotator:latest
latest: Pulling from cesslab/kaleido-rotator
Digest: sha256:42535077af6bf......
Status: Image is up to date for cesslab/kaleido-rotator:latest
download image: cesslab/kaleido-kafka:latest
latest: Pulling from cesslab/kaleido-kafka
Digest: sha256:29ed986ea......
Status: Image is up to date for cesslab/kaleido-kafka:latest
pull images finished

Show versions

Use below command to get node version information :

cess version

The output might look like this:

Node mode: authority
Profile: devnet
nodeadm version: v0.4.4
Docker images:
  config-gen: config-gen 1.4.5 cc887f6f4bd9
  chain: cess-node 0.7.0-unknown a5e8200775e6
  kld-agent: kaleido-rotator 0.2.2-devnet 93732b7cfd1d
  kld-sgx: kaleido 0.2.1-devnet c601507c286c

Note: The value of Profile indicates the CESS network to which the node is currently connected, and the above indicates that devnet is now used. You can use the cess profile command to query and switch networks (switching networks requires stopping the current service and regenerating the configuration)

Start services

 cess start

Become a validator

Bond fund for Validator

Choose “Network”, click “Staking > Accounts > Stash”

Select both Stash Account and Controller Account.

Value bonded: 300,000 TCESS is recommended to select the second option Stash Account as the reward receiving account (do not increase the amount at stake), which means that mining income will not automatically added to staking.

Click "Bond" -> "Sign and Submit" to link Stash Account and Controller Account

Fund is bonded successfully!

Generate Session Key

cess tools rotate-keys

The field in the quotation marks is the Session Key, which will be used in subsequent operations.

Set up session key

Navigate to CESS Explorer, choose "Network > Staking > Accounts > Session Key"

Fill in the Session Key in the red box

Click "Sign and Submit"

Become a validator

  • Navigate to CESS Explorer, click "Network > Staking > Accounts > Validate"

Enter “100” in "reward commission percentage", indicating that the reward will not be distributed to others.

Select “No, block all nominations” in "allows new nominations", indicating that no nominations will be accepted.

Again, click "Sign and Submit"

After completing the steps above, open the CESS Explorer and click "Network > Staking > Waiting".

You should see that the node has already appeared on the candidate node list.

Rewards redemption

Navigate to CESS Explorer: "Network > Staking > Payouts > Payout"

In Payouts, click "Payout" to initiate a payment. Any account can initiate a payment .

⚠️: Please claim the reward within 84 era (each era of the test network is 6 hours), which is 21 days. Those who has not claimed the reward in this period will not be able to claim it.

Exit consensus mining

Cooling consensus

Navigate to blockchain explorer: "Network > Staking > Account Actions > Stop"

Clear session keys

CESS Explorer: "Developer -> Extrincs -> Submission"

Enter controller account in “using the selected account”. Then in "submit the following extrinsic", enter "session" and choose "purgeKeys()" in the box next to it.

Click "Submit Transaction", enter the password and then click "Sign and Submit" button to clear session keys

Stake redemption

After 28 Eras(each era of the test network is 6 hours), do the following:

CESS Explorer "Network > Staking > Account Actions > Unbond Funds"

CESS Explorer "Developer -> Extrincs -> Submission -> teeWorker -> exit()"

Stop consensus miner server

cess stop

Common operations

Quiry miner status

cess status
 NAMES           STATUS
kld-agent       Up 2 minutes
kld-sgx         Up 2 minutes
chain           Up 2 minutes
watchtower      Up 2 minutes

Examine config information

cess config show

Stop and remove all service

cess down

New version upgrade

Stop and remove all service

cess stop
cess down

Remove all program data

cess purge

Update the cess-nodeadm

tar -xvf v0.4.4.tar.gz
cd cess-nodeadm-0.4.4/
sudo ./ --skip-dep --retain-config

⚠️Please make sure the cess-nodeadm version is correct, check the most updated version.

Note: The version update mentioned here refers to the update of the cess-nodeadm program itself; If it is a node service, as long as they are running, they will automatically update.

Pull images

cess pullimg

Last updated