# Join TestEdge Tutorial
# Pick a Testnet
You specify the network you want to join by setting the genesis file and seeds. If you need more information about past networks, check our testnets repo (opens new window).
Testnet Chain ID | Name | Version | Status | Description |
---|---|---|---|---|
haqq_54211-3 | Haqq TestEdge | v1.3.0 | Live | This test network contains features which we plan to release on Haqq Mainnet. |
haqq_112357-1 | Haqq TestNow | v1.0.3 | WIP | This test network is functionally equivalent to the current Haqq Mainnet and it built for developers and exchanges who are integrating with Haqq. |
# Requirements
make
&gcc
Go 1.19+
Install Go (opens new window)
# Install haqqd
Follow the installation document to install the Haqq binary haqqd
.
# Save Chain ID
We recommend saving the testnet chain-id
into your haqqd
's client.toml
. This will make it so you do not have to manually pass in the chain-id
flag for every CLI command.
See the Official Chain IDs for reference.
# Initialize Node
We need to initialize the node to create all the necessary validator and node configuration files:
Monikers can contain only ASCII characters. Using Unicode characters will render your node unreachable.
By default, the init
command creates your ~/.haqqd
(i.e $HOME
) directory with subfolders config/
and data/
.
In the config
directory, the most important files for configuration are app.toml
and config.toml
.
# Create keys
We recommend using Tendermint KMS that allows separating key management from Tendermint nodes. It is recommended that the KMS service runs in a separate physical hosts.
# Configure chain-id
# Genesis & Seeds
To quickly get started, node operators can choose to sync via State Sync (preferred) or by downloading a snapshot.
# Copy the Genesis File
# Download genesis
# Update genesis file
# Verify the correctness of the genesis configuration file:
# Check binary version:
# Add Persistent Peers
We can set the persistent_peers
(opens new window) field in ~/.haqqd/config/config.toml
to specify peers that your node will maintain persistent connections with. You can retrieve them from the list of
available peers on the testnets
(opens new window) repo.
You can get a random 10 entries from the peers.txt
file in the PEERS
variable by running the following command:
Use sed
to include them into the configuration. You can also add them manually:
# Get a snapshot
# Prerequisites
# Install lz4 if needed
# Download the snapshot:
Decompress the snapshot to your database location. You database location will be something to the effect of ~/.haqqd depending on your node implemention.
# Pruning
The snapshot is designed for node opeartors to run an efficient validator service on Haqq chain. To make the snapshot as small as possible while still viable as a validator, we use the following setting to save on the disk space. We suggest you make the same adjustment on your node too. Please notice that your node will have very limited functionality beyond signing blocks with the efficient disk space utilization. For example, your node will not be able to serve as a RPC endpoint (which is not suggested to run on a validator node anyway).
Since we periodically state-sync our snapshot nodes, you might notice that sometimes the size of our snapshot is surprisingly small.
app.toml
config.toml
# Adding some ISLM to your account
# You can see your account address via execution this command
# See different account address formats
After that you can transfer some ISLM to your validator address. If you don't have ISLM you can receive it using our faucet
Claim your testnet ISLM on the faucet using your validator account address and submit your validator account address:
# The next step is delegation ISLM to your validator
Make sure you have already started the node.
# Check your account balance
Your haqqvalconspub
can be used to create a new validator by staking tokens. You can find your validator pubkey by running:
# Staking delegate
Delegate some ISLM to your validator and make sure that delegation ISLM amount is not more than you have in balance.
# Run a Testnet Validator
# Upgrading Your Node
These instructions are for full nodes that have ran on previous versions of and would like to upgrade to the latest testnet version.
# Reset Data
If the version {new version} you are upgrading to is not breaking from the previous one, you should not reset the data. If this is the case you can skip to Restart
First, remove the outdated files and reset the data.
Your node is now in a pristine state while keeping the original priv_validator.json
and config.toml
. If you had any sentry nodes or full nodes setup before,
your node will still try to connect to them, but may fail if they haven't also
been upgraded.
Warning
Make sure that every node has a unique priv_validator.json
. Do not copy the priv_validator.json
from an old node to multiple new nodes. Running two nodes with the same priv_validator.json
will cause you to double sign.
# Restart
To restart your node, just type:
# Unjail Validator
When a validator is "jailed" for downtime, you must submit an Unjail
transaction from the operator account in order to be able to get block proposer rewards again (depends on the zone fee distribution).
# Common problems
You can read about common validator problems here
# Validators FAQ
If you have any problems with validator setting up you can visit our Validator FAQ page.
# Validator Security
Before starting a node, we recommend that you read the following articles in order to ensure security and prevent gaining access to a node and your test coins.
# Automated Upgrades
We are highly recommend use Cosmovisor for node upgrading. Learn how to automate chain upgrades using Cosmovisor