Run a Validator Node

This section provides a step-by-step guide for becoming a validator on the Entangle Testnet Network. It also outlines the process of handling codebase updates through blockchain forking.

Overview

Validators are operating machines such as General purpose Instances, responsible for reaching consensus and addition of new blocks to the Entangle Blockchain.

Consensus among Validators enhances the security and resilience of the Entangle Blockchain through a Delegated-Proof-of-Stake mechanism, where dishonest behavior is deterred through slashing mechanisms.

Instructions

Please follow the instructions carefully to ensure a smooth onboarding process and seamless updates to codebases.

Hardware Requirements

Step 1. Become a Validator

Environment Setup Running the Node Manually

  1. Install Git, Golang (minimum version is 1.19), make, jq, Python, golangci-lint, and Solc-JS

  2. Clone the repository:

git clone https://github.com/Entangle-Protocol/entangle-blockchain
cd entangle-blockchain
  1. Install the application:

make install

Validator Account Generation

Run the account generation script with your key name and encryption password as the parameters below:

sh init_key.sh <key_name> <password>

key_name: Specifies the name for the generated key.

password: Defines the password associated with the key.

Note: The execution log of the command will display the wallet's public address in the format ethm1c7tm4r9wl6v6s57zpq7dj49v7sk4eqr5mc5fwd, as well as the mnemonic phrase. Please save them in a secure location.

Downloading and Unpacking Snapshot

Execute the script for downloading and unpacking data from previous blocks:

sh get_snapshot.sh

Starting Node and Block Synchronization

Initiating the full blockchain node will commence the process of synchronizing the current block state:

sh run_node.sh

Receiving NGL Tokens to the Account

  1. To add an account to MetaMask, you need to obtain the private key of your account. You can do this using the command:

entangled keys unsafe-export-eth-key <key_name>
  1. The obtained private key can be used to import the account into MetaMask.

  2. Afterward, you can acquire NGL tokens for the account using the Entangle faucet via the Discord channel.

Starting a Validator

After successfully synchronizing Entangle blocks and receiving NGL tokens in your account, you can use them to start a validator. As the amount, specify the number of tokens you are staking for the Validator, and as the from, use the key name used in the Validator Account Generation step.

Note

  • 1 NGL token equals 1000000000000000000aNGL.

  • Blocks will start generating at a rate of one block per second.

entangled tx staking create-validator \
--amount="5000000000000000000aNGL" \
--pubkey=$(entangled tendermint show-validator) \
--moniker="validator" \
--chain-id=entangle_33133-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--gas=500000 \
--gas-prices="10aNGL" \
--from=<key_name>

Obtaining Additional Voting Powers

After successfully starting a Validator please register using this Google form and provide the following:

  • Wallet address (required)

  • How you heard about us (optional)

  • Telegram Handle (optional)

  • Discord username (required)

Entangle will delegate a large amount of $NGL Tokens to the specified wallet address, resulting in sufficient voting power as a Validator. You will also be added to an internal Discord channel solely reserved for active Validators within the Entangle Discord Server.

Step 2. Codebase Updates and Blockchain Forking

Codebase Update Schedule

Be aware that the blockchain administrators can update the codebase.

Receiving Update Notifications

Stay informed about codebase updates through official channels (Validators Discord group), announcements, or communication platforms.

Forked Version Creation

When a codebase update is scheduled, the blockchain administrators will generate a forked version of the blockchain.

Administering the Codebase Update

  1. Once the fork is ready, the administrators will release instructions on how to update your node client's codebase.

  2. Follow the provided instructions carefully to apply the codebase changes.

Rejoining the Actual Chain

  1. After updating your codebase, your node will be temporarily disconnected from the main blockchain network.

  2. Modify your node's connection address to rejoin the actual chain, which has been updated with the new codebase.

Testing and Confirmation

Allow time for the network to stabilize and confirm that your Validator is functioning correctly on the updated chain.

Validators' Coordination

Collaborate with other Validators to ensure a smooth transition and coordinate actions during codebase updates.


If you encounter any issues or require assistance, do not hesitate to reach out to the Entangle team or the community for support via the Entangle Discord channel.

Last updated