June 2, 2022

Kujira

Cистемные требования:

4 CPU 8GB RAM 200GB SSD

Аренда сервера:

Vdsina - 10% cкидка на пополнение (пополнять можно криптой).

Hetzner - 30$ за регистрацию (можно абузить с разных акков).

Установка

Обновляем пакеты

sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt dist-upgrade -y
sudo apt install build-essential git unzip curl wget -y

Устанавливаем GO

ver="1.18.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

Cкачиваем и создаем бинарник

git clone https://github.com/Team-Kujira/core $HOME/kujira-core
cd $HOME/kujira-core
make install
kujirad version

Добавляем значения в конфиг

kujirad config chain-id harpoon-3
kujirad config keyring-backend file

Инициализируем конфиг

kujirad init ИМЯ_НОДЫ --chain-id harpoon-3

Скачиваем genesis и addrbook

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

Cтавим минимальный газ

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

Включаем прометеус

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.kujira/config/config.toml

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

pruning="custom"
pruning_keep_recent="809"
pruning_keep_every="0"
pruning_interval="43" 

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

Делаем ресет

kujirad tendermint unsafe-reset-all

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

sudo tee /etc/systemd/system/kujirad.service > /dev/null <<EOF
[Unit]
Description=Kujira Daemon
After=network.target
[Service]
Type=simple
User=root
ExecStart=/root/go/bin/kujirad start --log_level error 
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Запускаем ноду

sudo systemctl daemon-reload
sudo systemctl enable kujirad
sudo systemctl restart kujirad

Посмотреть логи и синхронизацию

curl localhost:26657/status

Создание кошелька

kujirad keys add $WALLET
WALLET_ADDRESS=$(kujirad keys show $WALLET -a)
VALOPER_ADDRESS=$(kujirad keys show $WALLET --bech val -a)
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export VALOPER_ADDRESS='${VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

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

kujirad tx staking create-validator  
--moniker $NODENAME \ 
--amount=1000000ukuji \ 
--gas-prices=1ukuji \ 
--pubkey $(kujirad tendermint show-validator) \ 
--from $WALLET \ 
--yes \ 
--node=tcp://localhost:26657 \ 
--chain-id $CHAIN_ID \ 
--commission-max-change-rate=0.01 \ 
--commission-max-rate=0.20 \ 
--commission-rate=0.10 \ 
--min-self-delegation=1

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

https://github.com/freshe4qa/kujira