DynoChain
  • Dyno
    • Dyno
    • Wallet Support
      • DYNO Wallet
    • Tutorial's
    • FAQ
      • Token
      • Contributing
  • DYNODAO
    • DYNO Wallet
  • DYNO Concept's
    • Consensus
    • The File
  • DYNO Ecosystem
    • Validator
    • Staking
    • Future Development
  • Development on DYNO
    • Key Management
      • Smart Contracts
        • Smart Contract Verification
        • Solidity
      • Remix
        • Website
      • Web3JS
        • Website
      • Truffle
        • Docs
    • Block-Chain Details
      • RPC
    • DND20 Token
      • Issue Token's
    • Wallet Support
    • Deployment
      • Remix
      • Truffle
      • HardHat
  • Links
    • Website (dynochain.io)
    • DynoDAO (dynodao.io)
    • $DynoScan ( Explorer )
    • $DND TestnetScan
    • $DND Faucet
    • Smart Contract Verification
    • Swap
    • GitHub
    • DYNO Wallet
  • Social Network's
    • Telegram
    • Twitter
    • Chain News
    • Discord
    • Reddit
    • Medium
    • Facebook (META)
    • Instagram
Powered by GitBook
On this page
  • Proof of Authority (PoA) -
  • Adding a validator to the validator-set
  • Step 2: Propose a new candidate from other validator nodes​
  • Step 3: Run the client node​ .
  1. DYNO Ecosystem

Validator

PreviousThe FileNextStaking

Last updated 2 years ago

Proof of Authority (PoA) -

Validator Guideline Overview

​ The PoA is the default consensus mechanism in the DYNO Blockchain. In PoA, validators are the ones responsible for creating the blocks and adding them to the blockchain in a series.

All of the validators make up a dynamic validator-set, where validators can be added to or removed from the set by employing a voting mechanism.

This means that validators can be voted in/out from the validators-set if the majority (51%) of the validator nodes vote to add/drop a certain validator to/from the set. In this way, malicious validators can be recognized and removed from the network, while new trusted validators can be added to the network.

All of the validators take turns in proposing the next block (round-robin), and for the block to be validated/inserted in the blockchain, a supermajority (more than 2/3) of the validators must approve the said block. Besides validators, there are non-validators who do not participate in the block creation but do participate in the block validation process.

Adding a validator to the validator-set

This guide describes how to add a new validator node to an active DYNO network.

Step 1: Initialize data folders for DYNO Blockchain and generate validator keys​ for the new node​ In order to get up and running with DYNO on the new node,

you first need to initialize the data folders and generate the keys:

mkdir test-chain-5 
./geth --datadir=./test-chain-5  --password ./password.txt account new > account1.txt
./geth init --datadir ./test-chain-5 init dnd_mainnet.json

Copy This command will print the validator key (address) and the node ID. You will need the validator key (address) for the next step.

Step 2: Propose a new candidate from other validator nodes​

For a new node to become a validator at least 51% of validators need to propose him.

Example of how to propose a new validator

(0x969f0AA69266E6e7f23fF1035bD57933485c7732) from the existing validator

geth attach https://rpc.dynochain.io

clique.propose("0x969f0AA69266E6e7f23fF1035bD57933485c7732", true)

To authorize a new signer, existing ones can propose it via clique.propose("0x...", true). When more than half the signers proposed it, the authorization comes into effect immediately and the new account can start signing blocks.

Copy The structure of the IBFT commands is covered in the CLI Commands.

Step 3: Run the client node​ .

/geth --datadir test-chain-5 --port 40605 --bootnodes
 eenode://d0d2f79283153e5bdb6157046e6916762e5d4840cf3f8849fca511a476e457c762bab15ba4282e5ff00a6ea5144c27867884f2e8503c8e8db461c67ef3a13dd8@194.195.213.94:0?discport=40606 
 --networkid 7363 -unlock 
 '0x969f0AA69266E6e7f23fF1035bD57933485c7732' --password ./password.txt
  --mine --allow-insecure-unlock

Remove a validator To remove validator, we need more than 50% of node miners to vote for removing, the method is similar to how you vote for a validator. Below is detailed guideline:

For example, you have 4 node miner as below:

node 1: 0x969f0AA69266E6e7f23fF1035bD57933485c7732

node 2: 0x26e69c137757D36A3de282284eA7026074338115

node 3: 0x4808d368f6a8FcbD197336f1Eda121b343c86d7f

node 4: 0x36CFfAf0C9ABCBF1DcF84190C06Abbb2B9FeD691

and need to remove node 4 with the address: 0x36CFfAf0C9ABCBF1DcF84190C06Abbb2B9FeD691

you need to access to the server of 3 other nodes,

means node 1,2,3 and follow the steps as below:

geth attach http://localhost:3545 clique.discard("0x36CFfAf0C9ABCBF1DcF84190C06Abbb2B9FeD691")

In which, 3545 is the port of rpc. Open rpc by adding these parameters to the command of node initiation:

--http --http.vhosts=* --http.port 3545 --http.api 'personal,eth,net,web3,personal,admin,miner,txpool,debug,clique'

⤵️
☝️
Page cover image