Hypersign.Id
Hypersign.idEntity StudioIdentity Wallet
  • 💬Welcome!
  • Hypersign KYC
    • Introduction
    • Integrations
      • KYC Service
      • Widget Configuration
      • Environments
        • Development
        • Production
      • Webhook
    • KYC Widget
      • Integrations
        • Backend Integration
          • Generate AccessTokens
          • Generate KYC Session Id
        • Frontend Integration
      • Data Capture
        • Data Vault Setup
        • Capture Facial Recognition
        • Capture ID Document
        • Capture zk-proof and KYC token
        • Capture User Consent
      • User Data
        • idToken
    • Hypersign ID Wallet
    • On-Chain KYC
      • Contracts Deployment
      • Use Cases
      • Supported Blockchains
      • KYC Token Metadata
    • Dashboard
      • User Sessions
      • User Session Details
      • Usage
      • Credit
    • Concepts
      • Facial Recognition
      • ID Verification (via OCR)
      • Reusable KYC
      • Encrypted Data Vault (EDV)
      • Facial Authentication
      • Issuer Marketplace
      • Security
      • Privacy
      • Credentials Types
        • Personhood Credential
        • Passport / Govt. ID Credential
      • zk Proof Types
        • Proof Of Personhood (PoP)
        • Proof Of KYC (PoK)
        • Proof Of Age (PoA)
      • Uniqueness Check
      • Credential Revocability
      • Machine Readable Zone (MRZ)
      • Liveliness Check
      • Zero Knowledge Proof (zkp)
        • Introduction
        • zk-SNARK
        • Circuits
        • SSI and ZKP
    • Tutorials
      • How to Integrate KYC in minutes?
      • How to add your team member?
  • Hypersign SSI
    • Introduction
    • Setup SSI Service
      • Create Your First DID
      • Credits
    • 🔗API Reference
      • Service Authentication API
      • DID
      • Schema
      • Verifiable Credential
      • Verifiable Presentation
        • Presentation Template
        • Presentation
    • 🎰API Playground
    • 🏑SSI Playground
  • Hypersign Developer Dashboard
    • Service
      • Managing API keys
      • Network Fee
    • Members & Roles
      • Members
        • Assign Role To Member
      • Invitations
        • Member Access Admin's Dashboard
      • Roles & Permissions
        • Permissions List
    • Security
      • Login
      • Multi factor Authentication (MFA)
  • Hypersign Identity Network
    • Introduction
    • Validators & Delegators
      • Installation of Node
      • Running a Testnet Validator Node
    • Governance
      • Proposals
        • Blockchain Node Upgrade
        • Community Pool Spend Proposal
        • Blockchain Parameter Change Proposal
        • Text Proposal
      • Delegation
    • Faucet (testnet)
    • Developers
      • HID-Node Codebase
      • ⚙️Setup Local hid-network Tutorial
        • Running one-node local hid network
        • Create and fund new account
        • Transfer funds
        • Connect Keplr to local hid network
      • Hypersign SSI Toolkit
        • Hypersign DID SDK
        • Hypersign Schema SDK
        • Hypersign Verifiable Credential SDK
        • Hypersign Verifiable Presentation SDK
        • OfflineSigner
    • Blockchain & ID Explorer
  • Core Concepts
    • Introduction
    • Decentralized Identifier (DID)
      • DID Registry
      • Private and Public DID
      • DID Authentication
      • DID Communication (DIDComm)
      • Adding multiple controller to DID
      • Adding multiple verification methods
      • Verification Method vs Recovery Signature
      • Blockchain Account Id
      • DID Threshold
      • Verifiable Condition
      • Verification Relationships
        • Authorization Capabilities (zCap)
    • Schema
      • Schema Registry
      • Schema.org
    • Verifiable Credential (VC)
      • Credential Revocation Registry
      • Issuing a Credential to Multiple Subjects
      • Bearer Credential
      • Single-Use Credential
    • Verifiable Presentation (VP)
    • Specifications
      • Supported Signature Algorithms
      • Client Specification
        • EVM based chains
        • Cosmos based chains
  • Ecosystem
    • Forum
    • Github
    • HID Explorer
    • Eiko
    • MetaAuth
  • Privacy Policy
Powered by GitBook
On this page
  • Hardware Requirements
  • Prerequisites
  • Installation
  • Generate Wallet
  • Configure the Full Node
  • Run Full Node
  • Important Points
  • Promotion of Full Node to Validator Node
  • Redeeming Staked Rewards
  • Unjailing a validator node
Edit on GitHub
  1. Hypersign Identity Network
  2. Validators & Delegators

Running a Testnet Validator Node

PreviousInstallation of NodeNextGovernance

Last updated 1 year ago

Hardware Requirements

  • Minimal

    • 16 GB RAM

    • 300 GB SSD Storage

    • 1.4 GHz x2 CPU

  • Recommended

    • 32 GB RAM

    • 600 GB SSD Storage

    • 2.0 GHx x4 CPU

Prerequisites

  • Golang 1.21 required. ()

  • git

  • make

Installation

Generate Wallet

  • Run the following to generate a wallet. Save the mnemonic displayed on the output, which can be used for scenarios where you would like to import your wallet address.

hid-noded keys add <key-name>
hid-noded keys add <key-name> --recover

Configure the Full Node

  • Initialise the node with a moniker name.

hid-noded init <moniker-name> --chain-id prajna-1

Configuration files of the node are stored in the default location: $HOME/.hid-node. If you want to specify a different location, append the flag --home <hid-node-home-directory> to the above command. In this case, for every transaction based commands, you have to explicitly pass this flag.

Run Full Node

hid-noded binary can be run in either of the following ways:

  • In Terminal

hid-noded start
  • As a system service

    • Change directory: cd /etc/systemd/system

    • Reload service files: sudo systemctl daemon-reload

    • To make sure your service starts on every reboot (Optional): sudo systemctl enable hidnoded-standalone.service

    • To start the service: sudo systemctl start hidnoded-standalone.service

    • To check the status of service: sudo systemctl status hidnoded-standalone.service

    • To restart the service: sudo systemctl restart hidnoded-standalone.service

Important Points

If you haven't run any CometBFT based chains before, please note the following points before moving to the upcoming sections below:-

  • RPC and gRPC ports can be modified in <blockchain-config-dir>/config/config.toml

  • API port can be modified in <blockchain-config-dir>/config/app.toml

  • There are primarily two types of commands:

    • Transaction based. It starts with hid-noded tx ...

    • Query based. It starts with hid-noded q ...

  • Transaction based commands may/always require the following flags:

    • --chain-id prajna-1

    • --fees 4000uhid: The value of fees is arbitrary, but it should be sufficiently high enough for the transaction to go through. 4000uhid is an appropriate value for almost every transaction

    • --node <rpc-ip-or-dns:rpc-port>: The node expects RPC to run on default port 26657. If your RPC port is different from default, you need to explicitly pass this flag. In case of default port, it can be skipped.

  • Query based commands may require the following flag:

    • --node <rpc-ip-or-dns:rpc-port>: The node expects RPC to run on default port 26657. If your RPC port is different from default, you need to explicitly pass this flag. In case of default port, it can be skipped.

Promotion of Full Node to Validator Node

  • Perform these steps only when your node is completely synced with the testnet.

  • Perform the following validator creation transaction.

hid-noded tx staking create-validator \
--from <key-name> \
--amount 1000000uhid \
--pubkey "$(hid-noded comet show-validator)" \
--chain-id prajna-1 \
--moniker="<validator-name>" \
--commission-max-change-rate=0.01 \
--commission-max-rate=1.0 \
--commission-rate=0.07 \
--min-self-delegation="1000000" \
--details="<enter details about your validator node or validation service>" \
--security-contact="<contain details>" \
--website="<your website>"
--fees="<Transaction fees in uhid. Example: 4000uhid>"

Redeeming Staked Rewards

Having significant stake in the blockchain comes with reward in the form of tokens. The redemption of rewards needs to be done manually. Run the following to redeem rewards:

hid-noded tx distribution withdraw-rewards <validator-addr> --from <validator-wallet-address> --chain-id jagrat --fees <Transaction fees in uhid. Example: 4000uhid>
  • <validator-addr> - Validator's Operator address. (Prefix is hidvaloper)

  • <validator-wallet-address> - Validator's wallet address from which they have stake tokens. (Prefix hid)

If you also want to withdraw validator commission, append the --commission flag to the above command.

To check the outstanding validator rewards.

hid-noded q distribution validator-outstanding-rewards <validator-addr>
  • <validator-addr> - Validator's Operator address. (Prefix is hidvaloper)

Unjailing a validator node

In CometBFT-based blockchain, if a node is not active for a certain period of time or if the current self stake falls below the minimum self stake, it is temporarily moved out of the validator set. This situation is called Jailing of a validator. The validator remains in the jailed period for about 10 minutes.

The validator can only be unjailed manually through a transaction after the jailed period is over and if the current self stake is above the required self stake at the time the time of performing the following unjail transaction:

hid-noded tx slashing unjail --from <validator-associated-wallet-address> --chain-id jagrat --fees <amount-in-uhid>

If you already have a mnemonic, you can import your wallet by running the following. Enter the mnemonic string in the prompt and the wallet will be imported.

Replace genesis.json present in <hid-node-home-directory>/config with the Testnet genesis .

Copy the final peers from . Open <hid-node-home-directory>/config/config.toml and the add the peers in the field persistent_peers.

Add the to /etc/systemd/system directory.

Learn more about Cosmos SDK's modules and their respective commands from

Acquire some $HID tokens. Use the faucet channel of Hypersign Protocol's Discord Server from

Installation Ref
Installation Ref
Installation Ref
Installation of Node
BIP39
here
here
hid-noded system service file
here
here