June 13, 2022

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

Приветствую всех, сегодня мы расскажем о установке ноды Kijura

13.06.2022 Kijura запустили новый тестнет под названием harpoon-4

Требования к серверу стандартные для нод на космосе:

4x CPUs

8GB RAM

200GB of storage (SSD or NVME)

Для начала обновим наш сервер

sudo apt update && sudo apt upgrade -y

Ставим утилиты

sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Ставим Golang

ver="1.18.2"
cd $HOME
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" >> ~/.bash_profile source ~/.bash_profile
go version

Скачиваем и устанавливаем бинарник

cd $HOME
git clone https://github.com/Team-Kujira/core kujira-core && cd kujira-core
git checkout v0.4.0
make install

Устанавливаем переменные

KUJIRA_MONIKER="Ваш моникер"
KUJIRA_WALLET="Ваше название кошелька"
KUJIRA_CHAIN="harpoon-4"

Экспортируем переменные в баш

echo 'export KUJIRA_MONIKER='${KUJIRA_MONIKER} >> $HOME/.bash_profile
echo 'export KUJIRA_WALLET='${KUJIRA_WALLET} >> $HOME/.bash_profile
echo 'export KUJIRA_CHAIN='${KUJIRA_CHAIN} >> $HOME/.bash_profile
source $HOME/.bash_profile

Инициализируем ноду

kujirad init $KUJIRA_MONIKER --chain-id $KUJIRA_CHAIN

Прописываем в конфиг имя сети и вывод сохранения кошельков

kujirad config chain-id $KUJIRA_CHAIN
kujirad config keyring-backend file

Скачиваем генезис и переносим в рабочую папку

wget -qO $HOME/.kujira/config/genesis.json https://raw.githubusercontent.com/Team-Kujira/networks/master/testnet/harpoon-4.json

Настраиваем время ожидания

sed -i -e "s/^timeout_commit *=.*/timeout_commit = \"1500ms\"/" $HOME/.kujira/config/config.toml

Устанавливаем минимальную цену на комиссию

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.00125ukuji\"/" $HOME/.kujira/config/app.toml

Настраиваем прунинг

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

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

Отключаем индексацию

indexer="null"

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

Добавляем пиры

PEERS="[email protected]:26656,[email protected]:16656,[email protected]:26656,[email protected]:26656,[email protected]:53756,[email protected]:26656,[email protected]:26656,[email protected]:36347,[email protected]:25656,[email protected]:25656,[email protected]:26656,[email protected]:29656,[email protected]:26656,[email protected]:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.kujira/config/config.toml

Обнуляем данные блокчейна

kujirad tendermint unsafe-reset-all

Создаем сервисник

tee /etc/systemd/system/kujirad.service > /dev/null <<EOF
[Unit]
Description=kujira
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which kujirad) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Запускаем сервисник

sudo systemctl daemon-reload && sudo systemctl enable kujirad && sudo systemctl start kujirad

На это этапе наблюдаем логи

journalctl -u kujirad -f -o cat

Проверяем синхронизацию

curl -s localhost:26657/status

Создаем кошелек и сохраняем мнемоник

kujirad keys add $KUJIRA_WALLET

Либо восстанавливаем адрес по мнемонике

kujirad keys add $KUJIRA_WALLET --recover

Записываем адрес в переменную

KUJIRA_ADDR=$(kujirad keys show $KUJIRA_WALLET -a)

Экспортируем переменную в баш

echo 'export KUJIRA_ADDR='${KUJIRA_ADDR} >> $HOME/.bash_profile
source $HOME/.bash_profile

Смотрим баланс монет на кошельке

kujirad query bank balances $KUJIRA_ADDR

Записываем валупер адрес в переменную

KUJIRA_VALOPER=$(kujirad keys show $KUJIRA_WALLET --bech val -a)

Экспортируем переменную в баш

echo 'export KUJIRA_VALOPER='${KUJIRA_VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile

Если нода синхронизирована, можно создавать валидатора

kujirad tx staking create-validator \
--from $KUJIRA_WALLET \
--amount=100000000ukuji \
--moniker=$KIJURA_MONIKER \
--chain-id=$KIJURA_CHAIN \
--commission-rate=0.07 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1 \
--pubkey=$(kujirad tendermint show-validator) \
--fees 5550ukuji

Застейкать на своего валидатора

kujirad tx staking delegate $KUJIRA_VALOPER "КоличествоМонет"ukuji --from $KUJIRA_WALLET --chain-id $KUJIRA_CHAIN --fees 5550ukuji

Важно!
Токены можно попросить у кого-нибудь в дискорде, после чего поднять валидатора, получить роль, потом можно будет разок запросить монет с крана

Большое спасибо, за внимание и уделенное время

Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms

С уважением, MMS_Team