Gauss Docs
  • 🌐Getting Started
    • Welcome to Gauss
    • Whitepaper
      • Blockchain Providers Need to Do Better
        • Solving a Lack of Token Adoption
          • An Evolving Space With Untapped Potential
        • Security & Reliability
          • Curation & Vetting
            • Important Note For Brands
        • Token Creation
      • WHY BUILD WITH GAUSS?
      • Use Cases
        • Use Cases (Chart)
      • Roadmap
      • Technical Background and Blockchain Development
        • Why Another Blockchain?
        • Gauss 1.0: Built With Efficiency and a Strong Infrastructure to Launch Rapidly
        • Gauss 2.0: Added Functionality For a Better User Experiance
          • Noble Swap 2.0
          • NFTs in Gauss 2.0
          • Token Development Kit (TDK)
          • Gaming DAO
          • Omnipool
      • Token Economics
        • Gang Token Economics: Designed to Ensure Trust and Transparency
        • Token Locking Schedule
        • Reflections: Rewarding the Gauss Community
        • Charitable Allocations: Grants, Scholarships, & Financial Assistance
      • The Gauss Team
      • Important Definitions
      • DISCLAIMER
        • PURCHASER WARNING
        • PROMINENT STATEMENTS
        • FUTURE STATEMENTS
        • VALUE RISKS
        • NOT A SECURITY
    • How To Connect
      • Create Metamask Wallet
    • Links
  • ⚑Launching with Gauss
    • Benefits of Building with Gauss
      • Fostering an Environment for Success
      • Gauss Growth Grant Program
      • Gauss Liquidity Program
      • Ecosystem Integrity Fund
      • Client Referral Program
    • A Guide to Curation
      • Core Principles and Curation Guidelines
      • Curation Stages and Processing Fees
    • Building on Gauss
  • πŸ–₯️Gauss Ecosystem
    • Gauss Chain
      • Polygon-Edge Overview
      • Architecture
      • Consensus
      • Client Modules
        • Blockchain
        • Minimal
        • Networking
        • State
        • TxPool
        • JSON RPC
        • Consensus
        • Storage
        • Types
        • Syncer
        • Sealer
        • Other Modules
      • Polygon-Edge Performance Reports
      • For Developers
        • Operate a Node
          • Local Install
          • Genesis Contract
          • Server Config
          • CLI Commands
          • Key Management
        • Run a Validator
          • Validator FAQ
        • Smart Contract Deployment Permissioning
        • Deploying Contracts
          • Remix
          • Truffle
          • Hardhat
          • Replit
    • Gauss Explorer
      • Features
      • Navigating the Explorer
        • Menus
        • Blocks
        • Transactions
      • Verifying a Smart Contract
        • Hardhat Plugin
        • Sourcify Plugin
        • OpenZeppelin Plugin
      • Interacting With Smart Contracts
      • Exporting Transactions
      • FAQ
      • For Developers
        • Gauss Explorer Dependencies
        • Deployment Guide
          • Smart Contract Verification
          • Cleaning an instance from the previous deployment
          • ENV Variables
          • Testing
        • APIs
          • Requests & Limits
          • GraphQL
          • ETH RPC
    • Noble Swap
      • Liquidity Boost Program
    • Tokens
    • Gauss NFTs
      • Ferro Cards
      • F.E.R.R.E.T. NFTs
    • Contests & Giveaways
    • Gauss Faucet
      • For Developers
    • Address List
  • πŸ’‘Additional Resources
    • Partnerships & Affiliates
    • Discord Channel
    • Contact Us
    • Learning Materials
      • Web3 Glossary
    • Media Kit
Powered by GitBook
On this page
  • How to add/remove a validator?​
  • How much disk space is recommended for a validator?​
  • Is there a limit to the number of validators?​
  • How to switch from PoA to PoS?​
  • How do I update my nodes when there's a breaking change?​
  • Is the minimum staking amount configurable for PoS Edge?​
  • Why do the JSON RPC commands eth_getBlockByNumber and eth_getBlockByHash not return the miner's address?​
  • Which parts and values of Genesis can safely be modified?​
  1. Gauss Ecosystem
  2. Gauss Chain
  3. For Developers
  4. Run a Validator

Validator FAQ

PreviousRun a ValidatorNextSmart Contract Deployment Permissioning

Last updated 2 years ago

How to add/remove a validator?

PoA

Adding/removing validators is done by voting. You can find a full guide about this.

PoS

You can find a guide on how to stake funds , so that a node can become a validator, and how to unstake (remove the validator).

Please note that:

  • You can use the genesis flag --max-validator-count to set a maximum number of stakers that can join the validator set.

  • You can use the genesis flag --min-validator-count to set the minimum number of stakers needed to join the validator set(1 by default).

  • When the maximum validator number is met, you cannot add another validator until you remove an existing one from the set (doesn't matter if the staked amount of the new one is higher). If you remove a validator, the number of validators remaining cannot be lower than --min-validator-count.

  • There is a default threshold of 1 unit of native network(gas) currency for becoming a validator.

How much disk space is recommended for a validator?

We recommend starting with 100G as a conservatively estimated runway, and making sure that it is possible to scale the disk afterwards.

Is there a limit to the number of validators?

If we are talking about technical limitations, Polygon Edge doesn't explicitly have the cap on the number of nodes you can have in a network. You can set connection caps (inbound / outbound connection counts) on a per-node basis.

If we are talking about practical limitations, you're going to see a more degraded performance with a 100 node cluster than with a 10 node cluster. By increasing the number of nodes in your cluster, you increase the communication complexity and just the networking overhead in general. It all depends on what kind of network you are running, and what kind of network topology you have.

The minimum staking amount by default is 1 ETH, and it’s not configurable.

Looking at the EIP-225 (Clique PoA), this is the relevant part that explains what the miner (aka beneficiary) is used for:

We repurpose the ethash header fields as follows:

  • beneficiary / miner: Address to propose modifying the list of authorized signers with.

    • Should be filled with zeroes normally, modified only while voting.

    • Arbitrary values are permitted nonetheless (even meaningless ones such as voting out non signers) to avoid extra complexity in implementations around voting mechanics.

    • Must be filled with zeroes on checkpoint (i.e. epoch transition) blocks.

Thus, the miner field is used for proposing a vote for a certain address, not to show the proposer of the block.

The information about the proposer of the block can be found by recovering the pubkey from the Seal field of the RLP encoded Istanbul extra data field in the block headers.

CAUTION

Please make sure to create a manual copy of the existing genesis.json file before attempting to edit it. Also, the entire chain has to be stopped before editing the genesis.json file. Once the genesis file is modified, the newer version of it has to distributed across all non-validator and valdiator nodes.

Only the bootnodes section of the genesis file can safely be modified, where you can add or remove bootnodes from the list.

How to switch from PoA to PoS?

PoA is the default consensus mechanism. For a new cluster, to switch to PoS, you will need to add the --pos flag when generating the genesis file. If you have a running cluster, you can find how to make the switch. All the info you need about our consensus mechanisms and setup can be found on our .

How do I update my nodes when there's a breaking change?

You can find a detailed guide on how to do this procedure .

Is the minimum staking amount configurable for PoS Edge?

Why do the JSON RPC commands eth_getBlockByNumber and eth_getBlockByHash not return the miner's address?

The consensus used currently in Polygon Edge is IBFT 2.0, which, in turn, builds upon the voting mechanism explained in Clique PoA: .

Which parts and values of Genesis can safely be modified?

πŸ–₯️
​
​
here
​
here
​
​
​
here
consensus section
​
here
​
​
ethereum/EIPs#225
​