CertiK Shentu Incentivized Testnet — How to Join as a Validator

Jay | Human Being
Jul 15 · 4 min read
Image for post
Image for post

The CertiK client has been thoroughly tested to work with the following operating systems:

  • Ubuntu 18.04 or higher
  • OSX Catalina or higher

Step 1 — Housekeeping

Install necessary dependencies and optionally Golang.

$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install -y wget

Step 2 — Installing and Running Certik

Download Binaries

The latest certikd and certikcli binaries can be retrieved here.

# certikd
$ wget -O certikd https://github.com/certikfoundation/chain/releases/download/v0.10/certikd
$ chmod +x certikd
$ sudo mv certikd /usr/local/bin

Initialize the Chain

$ certikd init --chain-id shentu-incentivized <your_moniker>

Replace <your_moniker> with a name of your choice.

Create a New Account

Next we will create a new wallet account.

$ certikcli keys add <your_wallet> # back up your mnemonic phrase

Download Genesis and Setup Config

$ wget https://github.com/certikfoundation/chain/releases/download/v0.10/genesis.json
$ mv genesis.json $HOME/.certikd/config

Optionally, you can add the following seed nodes:

seeds = "f4678480e4b7f1daee8ff47e6265954f8b57291d@54.234.180.96:26656"

Start the CertiK Daemon

$ certikd start &> certikd.log

Alternatively, you can create a system service for certikd with systemd

$ sudo nano /etc/systemd/system/certikd.service

Then paste in the following, remember to replace ubuntu with your user:

[Unit]
Description=CertiK Daemon
After=network-online.target

Initialize the log file:

$ sudo touch /var/log/certikd.log

2. Start the service

$ sudo systemctl enable certikd
$ sudo systemctl start certikd

Catching Up

Your node will take some time to fully sync. To see the log:

$ journalctl -u certikd.service -f

Step 3 — Staking and Validating

Acquire Testnet Tokens

Submit your wallet address and request testnet tokens here. To see your wallet address:

$ certikcli keys list
- name: ...
type: local
address: certik1x0st0fgh54dkt6udj8gs8tw4cvs6lu085al6yx
pubkey: certikpub1addwnpepqvatuvpxhy0mtlmg8yufkkyfrgaqwuhh7qkrn75p4590hhxc8xmwjwrxxcd
mnemonic: ""
threshold: 0
pubkeys: []

Get Certified

All validator nodes must be certified by Certifiers. The actual criteria for this has not been fully defined, but in general, CertiK Chain validators are expected to demonstrate nearly 100% uptime, maintain high operations & infrastructure security, and perform regular software updates to accommodate upgrades and bug fixes. To get certified, fist run the following command:

$ certikd tendermint show-validator

Then email the output to chain@certik.org with title "Request for Validator Node Certification" and your reasoning on why you should be approved to become a validator (typically in terms of capacity, connectivity, maintenance, and security). Within 24 hours, the CertiK team will get back to you with an answer. Once certified, you can proceed to the next step.

Register Your Validator

Make sure you have some test CTK tokens loaded in your wallet, then go ahead and register your validator by sending a MsgCreateValidator transaction.

$ certikcli tx staking create-validator \
--amount <your-amount-to-stake>uctk \
--commission-max-change-rate 0.01 \
--commission-max-rate 0.2 \
--commission-rate 0.1 \
--from <your-wallet-name> \
--min-self-delegation 1 \
--moniker <your-moniker> \
--pubkey $(certikd tendermint show-validator) \
--chain-id shentu-incentivized \
--fees 1600uctk

After the transaction is finalized, you node should appear on the validator page here. Congratulations! You are now a validator on the Certik Shentu testnet.

Level Up

If you are feeling adventurous today, give this Terraform project a go. With a few simple commands you can get a Certik node up and running within minutes.

At a glance

  • Download Terraform binary and install it
  • Download the Certik binaries and genesis file, and place them in certik/files
  • Fill in your AWS api keys and change protocol-specific parameters in certik/vars.tf
  • Tweak the security group rules in certik/security_group.tf
  • Tweak whatever, however you like
  • Profit!

Set it and Forget it

Still want more? Give NoOps a go. NoOps is Certik’s premier Infrastructure-as-a-Service (IaaS) platform tackling real pain points in Proof-of-Stake blockchain ecosystems. Behind the project we have a dedicated team of DevOps and security engineers help support our ecosystem partners’ mainnet launches and future maintenance or upgrades. Through NoOps you can get a node up and running with a few simple clicks. For more information, check out the blog below:

Tools and Resources

Below are a list of the tools and resources that you might find useful:

CertiK Foundation

We leverage better technology to create a more trustworthy…

Jay | Human Being

Written by

Blockchain | Distributed Consensus | Software Architecture | Pitbull | Columbia University SEAS '17.

CertiK Foundation

We leverage better technology to create a more trustworthy blockchain infrastructure for all.

Jay | Human Being

Written by

Blockchain | Distributed Consensus | Software Architecture | Pitbull | Columbia University SEAS '17.

CertiK Foundation

We leverage better technology to create a more trustworthy blockchain infrastructure for all.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store