How IslamicCoin and Haqq test network operates. Basic settings and parameters.

How IslamicCoin and Haqq test network operates. Basic settings and parameters.


Haqq is a scalable, high-performance Proof-of-Stake blockchain, fully compatible and interoperable with Ethereum and built using the Cosmos SDK.

Among the main features of Haqq are: compatibility with Web 3 and EVM, high throughput thanks to the Tendermint core, horizontal scalability via IBC and fast transaction speed.

The goal of Haqq is to serve the international Muslim community by providing a financial and technological tool that allows for independent financial interaction, while supporting technological evolution and charity.


If you want to share your opinion about cryptocurrencies and blockchain technologies, please welcome Telegram chat. We need to know what you think!


Testnet

At the moment there were no announcements about the awards, but as in any other space fork we fly to the project as early as possible and get fixed in the active set of validators so that there is a chance to pass further selection during the announcement.


System requirements

Recommended - 4 CPU / 8 RAM / 200 SSD

Minimum - 3 CPU / 4 RAM / 80 SSD


Installation

Preparing the server:

# updating the database and distribution

sudo apt update && sudo apt upgrade -y 

#download the necessary dependencies

sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y


Installing Go with one single command:

wget https://golang.org/dl/go1.18.1.linux-amd64.tar.gz; \

rm -rv /usr/local/go; \

tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz && \

rm -v go1.18.3.linux-amd64.tar.gz && \

echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \

source ~/.bash_profile && \

# checking the version

go version

Setting environment variables:

# enter your values

echo export NODENAME_HAQQ=enter_node_name >> $HOME/.bash_profile

echo export WALLETNAME_HAQQ=enter_wallet_name >> $HOME/.bash_profile

echo export CHAIN_ID_HAQQ="haqq_53211-1" >> $HOME/.bash_profile


# saving changes

source ~/.bash_profile


Setting the node:

# deleting old files (if you installed this node before)

rm -rf $HOME/haqq $HOME/.haqqd


# download and install the project

cd $HOME && \

git clone -b v1.0.3 https://github.com/haqq-network/haqq && \

cd haqq && \

make install

Initialize the node:

haqqd init $NODENAME_HAQQ --chain-id $CHAIN_ID_HAQQ


Creating configs:

# deleting the old database

haqqd tendermint unsafe-reset-all --home $HOME/.haqqd

rm $HOME/.haqqd/config/genesis.json


# download new genesis and addressee files

wget -O $HOME/.haqqd/config/genesis.json "https://storage.googleapis.com/haqq-testedge-snapshots/genesis.json"

wget -O $HOME/.haqqd/config/addrbook.json "https://raw.githubusercontent.com/StakeTake/guidecosmos/main/haqq/haqq_53211-1/addrbook.json"


# Setting up seeds and peers

SEEDS=8f7b0add0523ec3648cb48bc12ac35357b1a73ae@195.201.123.87:26656,899eb370da6930cf0bfe01478c82548bb7c71460@34.90.233.163:26656,f2a78c20d5bb567dd05d525b76324a45b5b7aa28@34.90.227.10:26656,4705cf12fb56d7f9eb7144937c9f1b1d8c7b6a4a@34.91.195.139:26656


PEERS="22a64e0d99ceb809fb902c4b1f91918553b06e9b@173.249.38.80:36656,0e8de1037b15af79705174d43c5fee1a93ac92ca@116.203.35.46:36656,583b6585d34e9993a7b02a8faa057d6334de30e6@65.109.17.86:31656,ffadba4c95ad235c828763e35cddee3fd2a35892@78.107.234.44:45666,d09e4b49d27a4d0a8a338157afb9674af0bb0da3@65.109.30.117:27656,9f15d378fda449c030eea4f913c1fee26a3046f5@65.109.18.179:33656,1ab6eba1e24b195a51a5a8e960f6328a4782b43c@195.201.108.152:26656,c3ee2e7ad7533d589e6de8b7cb146495a88a744c@135.181.248.69:46656,952b9d918037bc8f6d52756c111d0a30a456b3fe@213.239.217.52:29656"; \

sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.haqqd/config/config.toml


Setting up pruning

indexer="null"

pruning="custom"

pruning_keep_recent="100"

pruning_keep_every="0"

pruning_interval="10"


sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.haqqd/config/app.toml

sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.haqqd/config/app.toml

sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.haqqd/config/app.toml

sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.haqqd/config/app.toml


Putting a snapshot

cd && rm -rf ~/.haqqd/data; \

wget -O - http://snap.stake-take.com:8000/haqq.tar.gz | tar xf -

mv $HOME/root/.haqqd/data $HOME/.haqqd

rm -rf $HOME/root


Creating service:

tee $HOME/haqqd.service > /dev/null <<EOF

[Unit]

Description=haqq

After=network.target

[Service]

Type=simple

User=$USER

ExecStart=$(which haqqd) start

Restart=on-failure

RestartSec=10

LimitNOFILE=65535

[Install]

WantedBy=multi-user.target

EOF


sudo mv $HOME/haqqd.service /etc/systemd/system/


Launching the node:

sudo systemctl daemon-reload

sudo systemctl enable haqqd

sudo systemctl restart haqqd


Checking logs:

journalctl -fu haqqd -o cat


Creating a wallet and validator

Creating a wallet:

# creating a new wallet

haqqd keys add $WALLETNAME_HAQQ


# restoring the old wallet

haqqd keys add $WALLETNAME_HAQQ--recover

Attention! BE SURE TO SAVE THE WALLET MNEMONICS!


# save addresses as variables

echo 'export WALLETADDRESS_HAQQ='$(haqqd keys show $WALLETNAME -a) >> $HOME/.bash_profile

echo 'export VALADDRESS_HAQQ='$(haqqd keys show cardex --bech val -a) >> $HOME/.bash_profile

source $HOME/.bash_profile


Requesting tokens:

1. Import the Haqq wallet into the Metamask, to display the private key, enter the command:

haqqd keys unsafe-export-path-key cardex

2. Go to the site and link the Metamax to it.

3. Link your github to the site.

4. Request tokens.

You can request tokens once every 24 hours


Checking the synchronization status:

haqqd status 2>&1 | jq ."SyncInfo"."catching_up"

If false, then continue.


Checking the balance:

haqqd query bank balances $WALLETADDRESS_HAQQ

If the balance is not displayed, it means the synchronization has not been completed yet.


Creating a validator

haqqd tx staking create-validator \

 --amount 1000000000000000000aISLM \

 --from $WALLETADDRESS_HAQQ \

 --commission-max-change-rate "0.05" \

 --commission-max-rate "0.20" \

 --commission-rate "0.05" \

 --min-self-delegation "1" \

 --pubkey $(haqqd tendermint show-validator) \

 --moniker $NODENAME_HAQQ \

 --chain-id $CHAIN_ID_HAQQ \

 --gas 300000 \

 -y


Registration

After you have installed the node and created a validator, fill the form.


Useful commands

# network status

# logs

sudo journalctl -u haqqd -f -o


# sync status

haqqd status 2>&1 | jq |grep catch

# status

haqqd status 2>&1 | jq


# Network Parameters

haqqd q staking params haqqd q slashing params


# checking the height of the blocks

haqqd status 2>&1 | jq ."SyncInfo"."latest_block_height"

# number of missed blocks

haqqd q slashing signing-info $(haqqd tendermint show-validator)


# displaying a list of wallets

haqqd keys list


# wallet balance

haqqd q bank balances $WALLETNAME_HAQQ

# delete wallet

haqqd keys delete $WALLETNAME_HAQQ


# output account key

haqqd keys show $WALLETNAME_HAQQ --bech acc


# output consensus key

haqqd keys show $WALLETNAME_HAQQ --bech cons


# output validator key

haqqd keys show $WALLETNAME_HAQQ --bech val


# pubkey validator

haqqd tendermint show-validator


# check the validator

haqqd query staking validator $VALADDRESS_HAQQ

haqqd query staking validators --limit 1000000 -o json | jq '.validators[] | select(.description.moniker=="<validator name>")' | jq


Transactions:

# collect commission + rewards

haqqd tx distribution withdraw-rewards $VALADDRESS_HAQQ --from $WALLETNAME_HAQQ --fees 300000aISLM --commission -y --chain-id $CHAIN_ID_HAQQ


# add more coins to your steak (1 coin is sent)

haqqd tx staking delegate $VALADDRESS_HAQQ 1000000aISLM --from $WALLETNAME_HAQQ --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ


# redelegation to another validator

haqqd tx staking redelegate <src-validator-addr> <dst-validator-addr> 1000000aISLM --from $WALLETNAME_HAQQ --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ


# unbond  

haqqd tx staking unbond $VALADDRESS_HAQQ 1000000aISLM --from $WALLETNAME_HAQQ --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ


# send coins to another address

haqqd tx bank send $WALLETNAME_HAQQ $VALADDRESS_HAQQ 1000000aISLM --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ

# unjail

haqqd tx slashing unjail --from $WALLETNAME_HAQQ--fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ


# checking the number of peers

curl -s http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(":")[2])"' | wc -l 


# list of monikers of connected peers

curl -s http://localhost:26657/net_info | jq '.result.peers[].node_info.moniker'


Delete a node:

# delete the system

sudo systemctl stop Cardchain && \

sudo systemctl disable Cardchain && \

rm /etc/systemd/system/Cardchain.service && \

sudo systemctl daemon-reload 


# delete files

cd $HOME && \

rm -rf .Cardchain && \

rm -rf Cardchain && \

rm -rf $(which Cardchain)

# remove environment variables

unset WALLETNAME_HAQQ && \

unset VALADDRESS_HAQQ && \

unset WALLETADDRESS_HAQQ && \

unset CHAIN_ID_HAQQ 





Report Page