IslamicCoin: Haqq testnet
Содержание
Знакомство
Описание
Haqq - это это масштабируемый, высокопроизводительный блокчейн на Proof-of-Stake, полностью совместимый и взаимодействующий с Ethereum и построенный с использованием Cosmos SDK.
Среди основных особенностей Haqq можно выделить: совместимость с Web3 и EVM, высокая пропускная способность благодаря ядру Tendermint, горизонтальную масштабируемость через IBC и быструю скорость транзакций.
Цель Haqq — служить международному мусульманскому сообществу, предоставляя финансовый и технологический инструмент, который позволяет осуществлять независимое финансовое взаимодействие, поддерживая при этом технологическую эволюцию и благотворительность.
Тестнет
На данный момент анонсов про награды не было, но как и в любом другом космофорке залетаем на проект как можно раньше и закрепляемся в активном сете валидаторов, чтобы был шанс пройти дальнейший отбор при анонсе.
Системные требования
Рекомендуемые требования - 4 CPU / 8 RAM / 200 SSD
Минимальные требования - 3 CPU / 4 RAM / 80 SSD
Установка
Подготавливаем сервер:
# обновляем 'базу данных' и дистрибутив sudo apt update && sudo apt upgrade -y #cкачиваем необходимые зависимости 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
Устанавливаем Go одной командой:
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 && \ # проверяем версию go version
Устанавливаем переменные окружения:
# вводим свои значения echo export NODENAME_HAQQ=введите_имя_ноды >> $HOME/.bash_profile echo export WALLETNAME_HAQQ=введите_имя_кошелька >> $HOME/.bash_profile echo export CHAIN_ID_HAQQ="haqq_53211-1" >> $HOME/.bash_profile # сохраняем изменения source ~/.bash_profile
Устанавливаем ноду:
# удаляем старые файлы (если до этого устанавливали эту ноду) rm -rf $HOME/haqq $HOME/.haqqd # cкачиваем и устанавливаем проект cd $HOME && \ git clone -b v1.0.3 https://github.com/haqq-network/haqq && \ cd haqq && \ make install
haqqd init $NODENAME_HAQQ --chain-id $CHAIN_ID_HAQQ
Cоздаем конфиги:
# удаляем старую базу haqqd tendermint unsafe-reset-all --home $HOME/.haqqd rm $HOME/.haqqd/config/genesis.json # скачиваем новые файлы генезиса и адресника 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" # Настраиваем сиды и пиры 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
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
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
Создаем сервисник:
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/
sudo systemctl daemon-reload sudo systemctl enable haqqd sudo systemctl restart haqqd
journalctl -fu haqqd -o cat
Создаем кошелек и валидатора
Создаем кошелек:
# создаем новый кошелек haqqd keys add $WALLETNAME_HAQQ # восстанавливаем старый кошелек haqqd keys add $WALLETNAME_HAQQ --recover
ВНИМАНИЕ! ОБЯЗАТЕЛЬНО СОХРАНИТЕ МНЕМОНИКУ КОШЕЛЬКА!
# сохраняем адреса в виде переменных echo 'export WALLETADDRESS_HAQQ='$(haqqd keys show $WALLETNAME_HAQQ -a) >> $HOME/.bash_profile echo 'export VALADDRESS_HAQQ='$(haqqd keys show cardex --bech val -a) >> $HOME/.bash_profile source $HOME/.bash_profile
Запрашиваем токены:
1. Импортируем кошелек Haqq в Метамаск, для отображения приватного ключа вводим команду:
haqqd keys unsafe-export-eth-key $WALLETNAME_HAQQ
2. Переходим на сайт и привязываем к нему Метамаск.
3. Привязываем к сайту свой гитхаб.
Запрашивать токены можно раз в 24 часа
Проверяем статус синхронизации:
haqqd status 2>&1 | jq ."SyncInfo"."catching_up"
haqqd query bank balances $(haqqd keys show $WALLETNAME_HAQQ -a)
Если баланс не отображается, значит синхронизация еще не завершена
Создаем валидатора
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
Регистрация
После того как установили ноду и создали валидатора заполняем форму.
Полезные команды
# логи sudo journalctl -u haqqd -f -o # статус синхронизации haqqd status 2>&1 | jq |grep catch # статус haqqd status 2>&1 | jq # Параметры сети haqqd q staking params haqqd q slashing params # проверка высоты блоков haqqd status 2>&1 | jq ."SyncInfo"."latest_block_height" # количество пропущенных блоков haqqd q slashing signing-info $(haqqd tendermint show-validator)
# вывод списка кошельков haqqd keys list # баланс кошелька haqqd q bank balances $(haqqd keys show $WALLETNAME_HAQQ -a) # удалить кошелек haqqd keys delete $WALLETNAME_HAQQ # вывод ключа аккаунта haqqd keys show $WALLETNAME_HAQQ --bech acc # вывод ключа консенсуса haqqd keys show $WALLETNAME_HAQQ --bech cons # вывод ключа валидатора haqqd keys show $WALLETNAME_HAQQ --bech val
# pubkey валидатора haqqd tendermint show-validator # проверить валидатора haqqd query staking validator $VALADDRESS_HAQQ haqqd query staking validators --limit 1000000 -o json | jq '.validators[] | select(.description.moniker=="$NODENAME_HAQQ")' | jq
# собрать комиссионные + реварды haqqd tx distribution withdraw-rewards $VALADDRESS_HAQQ --from $WALLETNAME_HAQQ --fees 300000aISLM --commission -y --chain-id $CHAIN_ID_HAQQ # заделегировать себе в стейк еще (так отправляется 1 монетa) haqqd tx staking delegate $VALADDRESS_HAQQ 1000000aISLM --from $WALLETNAME_HAQQ --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ # ределегирование на другого валидатора 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 # отправить монеты на другой адрес haqqd tx bank send $WALLETNAME_HAQQ $VALADDRESS_HAQQ 1000000aISLM --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ # выбраться из тюрьмы haqqd tx slashing unjail --from $WALLETNAME_HAQQ --fees 300000aISLM -y --chain-id $CHAIN_ID_HAQQ
# проверка количества пиров
curl -s http://localhost:26657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | split(":")[2])"' | wc -l
# cписок моникеров подключенных пиров
curl -s http://localhost:26657/net_info | jq '.result.peers[].node_info.moniker'# удалить системник sudo systemctl stop haqqd && \ sudo systemctl disable haqqd && \ rm /etc/systemd/system/haqqd.service && \ sudo systemctl daemon-reload # удалить файлы cd $HOME && \ rm -rf .haqqd && \ rm -rf haqqd && \ rm -rf $(which haqqd) # удалить переменные окружения unset WALLETNAME_HAQQ && \ unset VALADDRESS_HAQQ && \ unset WALLETADDRESS_HAQQ && \ unset CHAIN_ID_HAQQ
Подписывайтесь!
Наш канал в телеграм: https://t.me/cardex_nodes
Наш канал в дискорд: https://discord.gg/mtDbNnAkk9