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="[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656" PEERS="[email protected]:36656,[email protected]:36656,[email protected]:31656,[email protected]:45666,[email protected]:27656,[email protected]:33656,[email protected]:26656,[email protected]:46656,[email protected]: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