Skip to content

Latest commit

 

History

History
 
 

kira

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Create VPS on Hetzner

For kira you have to choose CX41 and add extra 500GB volume to it image

LOGIN as root

First of all you have to initialize new 500GB volume and make it primary data container for kira node

VOLUME="$(ls /mnt)"
{ cd /var/lib && tar cf - . ; } | { cd /mnt/$VOLUME/ && tar xvf -  ; echo EXIT=$? ; }
sed -i "s|/mnt/$VOLUME|/var/lib|g" /etc/fstab

Move old lib folder and mount new lib to 500GB volume disk

mv /var/lib /var/lib-
mkdir /var/lib 
mount /var/lib

Create kira user and setup password

sudo useradd kira -m -s /bin/bash
sudo passwd kira

Give permissions to kira user

sudo usermod -aG sudo kira

Login as kira user

sudo su - kira
sudo -s

Create mnemonic file and paste your mnemonic content there

cd /home/kira && mkdir ./.secrets && nano ./.secrets/mnemonics.env

After that press CTRL+O and ENTER to overwrite file contents

Then press CTRL+x to close the file

Install dependencies

sudo apt update && sudo apt -y upgrade
sudo apt-get install -y network-manager
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io

Run command

cd /tmp && read -p "Input branch name: " BRANCH && \
 wget https://raw.githubusercontent.com/KiraCore/kira/$BRANCH/workstation/init.sh -O ./i.sh && \
 chmod 555 -v ./i.sh && H=$(sha256sum ./i.sh | awk '{ print $1 }') && read -p "Is '$H' a [V]alid SHA256 ?: "$'\n' -n 1 V && \
 [ "${V,,}" != "v" ] && echo "INFO: Setup was cancelled by the user." || ./i.sh "$BRANCH"

Press ENTER

Type

testnet-9

image

Press V

image

Press any key

image

Press 1

image

Press J

image

Press S

image

Enter one of the following IPs:

`

18.135.115.225 3.11.224.235 52.56.117.134

https://testnet-rpc.kira.network/download/peers.txt

https://testnet-rpc.kira.network/api/pub_p2p_list?ip_only=true&connected=true

` image

Press C

image

Press C

image

Enter the link below and press ENTER

https://raw.githubusercontent.com/KiraCore/testnet/main/testnet-9/genesis.json image

Press ENTER

image

Press A

image

Press A

image

Press M

image

Press P

image

Press A

image

Enter ips from the list above or from RPC link and press NETER

image

Press Y

image

Press Y

image

Repeat

Press S

image

Press E

image

Press E

image

Server will be rebooted

Log in back.

sudo kira

Press V

image

Press Ctrl + C

image

Type

sudo kira

image

STATE SYNC

STATE SYNC как и обещал. Нода будет весить пару гигов, и подключится к сети за 10 минут +- Делаем на свой страх и риск) Заходим под kira

  1. curl -s http://194.163.141.23:26657/status — проверяем доступна ли моя нода ( Почему-то с подсети контабо с ip рядом не пингуется. Позже перенесу на хецнер если нужно бдует. Чуть что пингуем в чате)
  2. docker ps. Видим Container id, записываем его (у меня будет fb0bac5166bd)
  3. docker exec -it fb0bac5166bd /bin/bash
  4. nano $HOME/.sekaid/config/config.toml и в persistent_peers вписываем tcp://[email protected]:26656 (sed почему то не работает)
  5. nano /self/home/container/validator/start.sh . В самом конце, перед echoInfo "INFO: Starting validator..." делаем как на скрине. Вставляем настройки прунинга и стейт синха echoInfo "INFO: State SYNC"

pruning="custom" pruning_keep_recent="100" pruning_keep_every="1000" pruning_interval="10"

sed -i -e "s/^pruning =./pruning = "$pruning"/" $HOME/.sekaid/config/app.toml sed -i -e "s/^pruning-keep-recent =./pruning-keep-recent = "$pruning_keep_recent"/" $HOME/.sekaid/config/app.toml sed -i -e "s/^pruning-keep-every =./pruning-keep-every = "$pruning_keep_every"/" $HOME/.sekaid/config/app.toml sed -i -e "s/^pruning-interval =./pruning-interval = "$pruning_interval"/" $HOME/.sekaid/config/app.toml

SNAP_RPC1="http://194.163.141.23:26657"
&& SNAP_RPC2="http://194.163.141.23:26657" LATEST_HEIGHT=$(curl -s $SNAP_RPC2/block | jq -r .result.block.header.height)
&& BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000))
&& TRUST_HASH=$(curl -s "$SNAP_RPC2/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)

echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH

sed -i -E "s|^(enable[[:space:]]+=[[:space:]]+).$|\1true| ;
s|^(rpc_servers[[:space:]]+=[[:space:]]+).
$|\1"$SNAP_RPC1,$SNAP_RPC2"| ;
s|^(trust_height[[:space:]]+=[[:space:]]+).$|\1$BLOCK_HEIGHT| ;
s|^(trust_hash[[:space:]]+=[[:space:]]+).
$|\1"$TRUST_HASH"|" $HOME/.sekaid/config/config.toml

sekaid unsafe-reset-all 6. Выходим с докера exit. Делаем рестарт контейнера валика с КМ. Валидатор может в джейл, лучше maintenance mode использовать 7. Смотрим свои логи синхронзации docker logs fb0bac5166bd --tail 100