Validator

Hello validators! This page is dedicated to helping you out on how to set up a node and run the network. We aim to achieve a diversified validator group that maintains high security and uptime at the core of their operations. We will focus on 3 key criteria for the selection of our validations!

HERE TO GET ZPT

· Uptime:
It is a vital criterion for blockchain systems. Validators with a proven track record of maintaining consistent uptime will be preferred.

· Geographic Distribution: 
To prevent centralization risks and enhance network robustness, we aim to have a geographically diverse set of validators. Validators from different regions will now only help to create a decentralized network infrastructure but also be our champions to drive and bring compliance focus in their jurisdiction.

· Trustworthiness: 
Trust and transparency is our core value and we strive to partner with validators/ builders who demonstrate the same integrity and commitment towards the ecosystem.

What are Validator Nodes?

Zippy Chain relies on a team of validators who are tasked with adding new blocks to the blockchain. Here's how the process works and some critical details about its structure:

Validators and Consensus Protocol: 
Validators play a key role in the consensus protocol by casting votes, which include cryptographic signatures from their private keys. They are essentially responsible for confirming the transactions.

Bonding Network Tokens:
 Potential validators can bond their own tokens

Earning Tokens and Transaction Fees:
Both validators and their delegators earn tokens through block provisions and tokens through transaction fees. This is achieved by executing the fast Byzantine fault-tolerant consensus protocol.

Penalties for Misconduct:
 If validators act inappropriately (e.g., double-signing or being offline too long), they can face penalties. The severity of the penalty depends on the violation's seriousness.

Defending Against Attacks: 
Validators are charged with protecting the network against denial-of-service attacks. A recommended strategy is to use a 'sentry node architecture

By using this architecture, validator block proposals and votes are ensured to reach the rest of the network, maintaining the stability and integrity of Zippy Chain.

Nodes and Validator Operations

Operating System

Node OS version and hardware recommendations.
The OS you use for your node is your choice.
This guide will provide detailed instructions for Ubuntu 2404 LTS.
Node Hardware requirements

When considering the technical specifications for setting up a validator node, several factors should be taken into account, e.g. a dedicated server or virtual machine with sufficient computing power, memory, and storage capacity, ensure a stable internet connection and reliable power supply to maintain continuous operation.

System requirements

Operating System: 
Ubuntu 22.04 LTS
Recommended
CPU 4 dedicated core RAM 16 GB
Storage 4 TB (using snapDB) SSD Minimum,
NVMe recommended Network 50Mb/s bandwidth

Download zpy-cli and zippynode zpy-cli is used for linux terminal wallet.zippynode is used for zippy node program.For Linux
1curl -LO http://64.62.166.164:5800/zpy-cli && chmod +x zpy-cli
2curl -LO http://64.62.166.164:5800/zippynode && chmod +x
Step by Step Procedure
1./zpy-cli keys generate-bls-keys --count 1 --shard 0 --passphrase 
Note: count means number of the bls keys; shard means which shard you want to bind your BLS key to.

Creating A New Validator Wallet
You need to provide a local account name of your choice and provide a passphrase. When creating an account, the CLI will ask you to provide a passphrase toencrypt the keystore file:

1./zpy-cli keys add mystake --passphrase

Add a wallet named mystake and set a wallet password. Remember your passphrase. You will need it to decrypt the account keystore in order to send transactions & perform other actions. Also save your seed phrase (mnemonic) somewhere as well, in case you lose your keystore.

Backing Up Your Keystore File (Optional)

1./zpy-cli keys location

This command is used to check where the wallets generated by the terminal are located
You can check the list of wallets (local accounts) with the following command:

1./zpy-cli keys list

Note that ZippyChain uses both the ERC 20 format and Bech32 format for public addresses.But to setup a node, YOUR_WALLET_ADDRESS should use the Bech32 format in Next Step : To convert your ERC 20 address into the Bech32 address, please use the following link:

CLICK HERE

Checking Account Balance
This command shows the balance We should keep the balance > 10001

1./zpy-cli --node="https://t.s0.n6.zippychain.ai" balances YOUR_WALLET_ADDRESS

Creating a Validator
For you to create a Validator successfully, it needs to have 10000 ZPT tokens plus the necessary fees to create the validator transaction on chain. For this reason, we recommend that you send at least 10001 but no more than 20000 ZPT tokens to your –validator-addr before you continue.

1./zpy-cli --node="https://t.s0.n6.zippychain.ai" staking create-validator --validator-addr YOUR_WALLET_ADDRESS --amount 10000 --bls-pubkeys YOUR_BLS_PUBKEY --name “stake33” --identity “stake33” --details “stake33” --security-contact “stake33” --website “stake33” --max-change-rate 0.1 --max-rate 0.1 --rate 0.1 --max-total-delegation 100000000--min-self-delegation 10000 --passphrase 

This command sends the staking transaction.
(Note that YOUR_WALLET_ADDRESS should use Bech32 format)

1./zippynode --log_folder ./stakenodetmp_log --min_peers 4 --bootnodes"/ip4/64.71.185.50/tcp/19876/p2p/QmdzLi9Mr3cHWnCBiz9hkK2VWVYvfpt5dDFEJUBWe5Tr4S"--network_type=localnet --verbosity=5   --p2p.security.max-connper-ip=200  --ip 0.0.0.0 --port 19004 --db_dir ./stakenodetestdb/--broadcast_invalid_tx=false --http.ip=0.0.0.0 --ws.ip=0.0.0.0 --run.shard=0 --blskey_file ./YOUR_BLS_PUBKEY

Now you can run the node!

Once started, the node will take some time to sync with the blockchain.

CLICK HERE

to see the current height of the blockchain.Use the journalctl command to check on the node's progress.

Checking Validator’s Status

You can use this command to check your validator’s status.

1./zpy-cli blockchain validator information [Your Validator’s ZPT address] --node="https://t.s0.n6.zippychain.ai"

“active-status” means if you will take part in generating block processing

Activating Your Validator and waiting for Election

If you want to join generaing block processing, you should enable your activation.

1./zpy-cli --node="https://t.s0.n6.zippychain.ai" staking edit-validator --active true --validator-addr [Your Validator’s ZPT address] --passphrase

Checking Validator’s Status Again

Suggestions

The technical team advises that non-technical people should not participate in the validation process to avoid financial losses.