Comment on page
Running a Consensus Node
The recommended requirement of a consensus server:
Resource | Specification |
---|---|
Recommended OS | Ubuntu_x64 20.04 or higher |
# of CPU Cores | ≥ 4 |
Intel SGX Enabled | required |
Memory (SGX encrypted memory) | ≥ 64 GB |
Bandwidth | ≥ 5 Mbps |
Public Network IP | required |
Linux Kernel Version | 5.11 or higher |
The CPU must support Intel Software Guard Extensions (Intel SGX) technology and Flexible Launch Control (FLC). 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 CPU models that support SGX. They can be either Intel ME, Intel SPS, or both Intel SPS and Intel ME.
The machine must use a fixed public network IP. The traffic exit must be in the same network segment as the IP. Execute the following command to confirm they are in the same network segment.
curl ifconfig.co
Running storage validator needs two accounts.
- Stash Account: Requires at least staking 300,000 TCESS, either from the node owner or delegated by other users, to run a consensus validator.
- Controller Account: Requires at least 100 TCESS for paying gas fee.
Please refer to the artcle Creating CESS Accounts for creating a CESS account, goto CESS testnet faucet to get TCESS, or contact us to receive TCESS tokens for staking.
Choose Network, click Staking > Accounts > Stash

Add a Stash
Select both Stash Account and Controller Account.
Value bonded: 300,000 TCESS is recommended. In payment destination, 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.

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

Sign and Submit
Fund is bonded successfully!

Bonded Fund Successfully
The
cess-nodeadm
is a CESS node deployment and management program. It helps deploying and managing storage nodes, consensus nodes, and full nodes, simplifying the devOps for all CESS miners.wget https://github.com/CESSProject/cess-nodeadm/archive/v0.5.1.tar.gz
tar -xvf v0.5.1.tar.gz
cd cess-nodeadm-0.5.1
sudo ./install.sh
If a message
Install cess nodeadm success
shows up, the installation is successful.Run:
cess config set
You should see output similar to the following:
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: xxx.., press enter to skip):
Enter cess chain ws url (current:ws://172.18.0.9:9944, press enter to skip):
Enter cess scheduler stash account (current: xxx.., press enter to skip):
Enter cess scheduler controller phrase (current: xxx.., press enter to skip):
Start configuring the endpoint to access kaleido from the Internet
Try to get your external IP ...
Enter the kaleido endpoint (current: http://221.122.79.3:10010, 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
57ea8c914461c3184ddb......
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
docker.io/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
docker.io/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
docker.io/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
docker.io/cesslab/kaleido-kafka:latest
pull images finished
Please fill in your TEE Worker server address while you configure the endpoint. The default is the address from the local server. If you do not know TEE Worker yet, please refer to the node role introduction.
- 1.Start the consensus nodecess start
- 2.Generate a session keycess tools rotate-keysrotate-keys Output ExampleThe field in the quotation marks after "result" is the Session Key, which will be used in subsequent operations. "localhost:9933" is the default port.
- 3.Setup a session keySession Key 01Fill in the Session Key in the red boxSession Key 02Click Sign and SubmitSession Key 03
- 4.Becoming a validatorValidator 01Validator 02Enter 100 in reward commission percentage, indicating that the reward will not be distributed to others.Select No, block all nominations in allows new nominations dropdown, indicating that no nominations will be accepted.Again, click Sign and Submit.Validator 03Validator 04You should see that the node has already appeared on the candidate node list.
Navigate to CESS Explorer: Network > Staking > Payouts > Payout.

Redemption: First Step
In Payouts, click Payout to initiate a payment. Any account can initiate a payment.

Redemption: Second Step
Please claim the reward within 84 era (each era of the test network is 24 hours), which is 84 days. Those who hasn't claimed the reward in this period will not be able to claim it.
- 1.Stop the ConsensusExiting-01
- 2.Clear Session KeysExiting-02Enter controller account in using the selected account controller. Then in submit the following extrinsic, enter session and choose purgeKeys() in the box next to it.Exiting-03Click Submit Transaction button to clear session keysExiting-04
- 1.Unbond fundAfter 28 eras (each era of the test network is 24 hours), goto CESS Explorer, navigate to: Network > Staking > Account Actions > Unbond Funds.Staking 01
- 2.Stop the CESS clientcess stop
cess start
$ cess status
-----------------------------------------
NAMES STATUS
kld-agent Up 2 minutes
kld-sgx Up 2 minutes
kaleido-kafka Up 2 minutes
chain Up 2 minutes
watchtower Up 2 minutes
-----------------------------------------
cess config show
cess down
cess stop
cess down
Do not perform this operation unless the CESS network has been redeployed and it is confirmed that the data can be cleared.
cess purge
wget https://github.com/CESSProject/cess-nodeadm/archive/<new-version>.tar.gz
tar -xvf <new-version>.tar.gz
cd cess-nodeadm-<new-version>
./install.sh --skip-dep
cess pullimg
Last modified 11d ago