November 15, 2022

GITOPIA

По всем вопросам обращайтесь в Нашу группу в телеграмме

Требования к ноде

4 CPU, 32 GB RAM, 1 TB SSD

  • Network Chain ID: gitopia-janus-testnet-2
  • Denom: utlore
  • Binary: gitopiad
  • Working directory: .gitopiad

Наша группа в телеграмме

Установка и обновление ПО

apt update && apt upgrade && \
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Go

ver="1.19.1" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

Установка ноды

git clone -b v1.2.0 gitopia://gitopia/gitopia && cd gitopia
make install
gitopiad version --long | grep -e version -e commit

#commit: 64e4712aeae3c723346a365d67cf1dd3e91cc50c
#version: 1.2.0

Инициализация

gitopiad init $MONIKER --chain-id gitopia-janus-testnet-2

Скачиваем Genesis

wget https://server.gitopia.com/raw/gitopia/testnets/master/gitopia-janus-testnet-2/genesis.json.gz
gunzip genesis.json.gz
mv genesis.json $HOME/.gitopia/config/genesis.json


shasum -a 256 $HOME/.gitopia/config/genesis.json
#038a81d821f3d8f99e782cbfed609e4853d24843c48a1469287528e632a26162

Если надо, чекаем состояние валидатора

cd && cat .gitopia/data/priv_validator_state.json
{
  "height": "0",
  "round": 0,
  "step": 0
}

Сброс

gitopiad tendermint unsafe-reset-all --home $HOME/.gitopia

Конфиг

gitopiad config chain-id gitopia-janus-testnet-2

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025utlore\"/;" ~/.gitopia/config/app.toml

external_address=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external_address *=.*/external_address = \"$external_address:26656\"/" $HOME/.gitopia/config/config.toml

peers=""
seeds="399d4e19186577b04c23296c4f7ecc53e61080cb@seed.gitopia.com:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.gitopia/config/config.toml

sed -i 's/max_num_inbound_peers =.*/max_num_inbound_peers = 50/g' $HOME/.gitopia/config/config.toml
sed -i 's/max_num_outbound_peers =.*/max_num_outbound_peers = 50/g' $HOME/.gitopia/config/config.toml

sed -i -e "s/^filter_peers *=.*/filter_peers = \"true\"/" $HOME/.gitopia/config/config.toml

sed -i -e "s/^timeout_commit *=.*/timeout_commit = \"2s\"/" $HOME/.gitopia/config/config.toml

Прунинг

pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="50"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.gitopia/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.gitopia/config/app.toml

Индексация

indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.gitopia/config/config.toml

Создаем сервисный файл

sudo tee /etc/systemd/system/gitopiad.service > /dev/null <<EOF
[Unit]
Description=gitopia
After=network-online.target

[Service]
User=$USER
ExecStart=$(which gitopiad) start --home $HOME/.gitopia
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable gitopiad   
systemctl restart gitopiad && journalctl -u gitopiad -f -o cat

Кошелек

gitopiad keys add $WALLET --keyring-backend os

gitopiad keys add $WALLET --recover --keyring-backend os

Создаем валидатора

gitopiad tx staking create-validator \
--chain-id quark-1 \
--commission-rate 0.05 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.1 \
--min-self-delegation "1000000" \
--amount 1000000utlore \
--pubkey $(gitopiad tendermint show-validator) \
--moniker $MONIKER \
--from $WALLET \
--fees 5000utlore

Удалить ноду

systemctl stop gitopiad && \
systemctl disable gitopiad && \
rm /etc/systemd/system/gitopiad.service && \
systemctl daemon-reload && \
cd $HOME && \
rm -rf .gitopiad gitopia && \
rm -rf $(which gitopiad)