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