Cosmos Nodes
October 31, 2022

OKP4 node guide

Требования к серверу:

2 CPU

8 RAM

200 GB storage

Установка

Обновим системные зависимости:

sudo apt update

sudo apt install

Устанавливаем го (необходим 19+ версии)

wget -c https://golang.org/dl/go1.19.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xvzf go1.19.2.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source ~/.profile
go version
rm -rf go1.19.2.linux-amd64.tar.gz

Установим make, zip и jq:

apt install make unzip jq git

Переходим у установке ноды:

mkdir okp4
#создаем директорию okp4

cd okp4
#заходим в директорию okp4

wget -P /root/okp4 https://github.com/okp4/okp4d/archive/refs/heads/main.zip
#выкачиваем зип архив репозитория

unzip main.zip
#разархивируем main.zip

rm main.zip
#удаляем архив

cd okp4d-main
#заходим в директорию okp4d-main

sudo apt install build-essential

make build install

okp4d version

CHAIN_ID=okp4-nemeton-1
#объявляем переменную

MONIKER="MiKnowTor"
#заменить MiKnowTor на свое любое имя ноды

okp4d init $MONIKER --chain-id $CHAIN_ID
#инициализируем ноду

Меняем генезис:

cd /root/.okp4d/config

rm genesis.json
 
wget genesis.json https://raw.githubusercontent.com/okp4/networks/main/chains/nemeton-1/genesis.json

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

PEERS="671148ff955125a7201621cbf46653365470ea42@194.163.177.203:26656,be12220989c8cda92500a3b57fc771692d4c49a8@45.89.54.162:26656,465c8793c32acee902307cfe90d09e16dc984bd4@167.235.225.38:26656,1b0afc2af49098b5bf6e3c89d7d29ef336c47260@144.76.27.79:60756,692837c6c1d73cd7793eb0eff0dd027ebbbd4442@161.35.46.85:26656,da5b1aa3b11f08e7e8dfbf76cef8a3d99280d419@173.249.29.184:26656,04e3a6342f2c4fba8cc6b0de1a26c4dbcc1cc2e6@161.97.162.6:26656,6d2d0e5201e27cad57dadace9466fd090cf9b6c0@143.244.189.89:26656,401226f612a3137256509dc2dee4c39196c21caa@46.101.35.219:26656,9e3109ba10d8cdb18d37dde787665ad1b38a85ed@65.108.235.107:12656,37444069358f5d1f20c973d037f4819a8e20935a@65.108.13.185:27363,d48bb5894f2b9f45dd0a74e854c55f111dd5b021@34.70.161.93:26656,efc552f1211516d578543fc56afcbfbb77c656bd@5.161.145.101:36656,96d30885578b7b15f4ad6e2053cba2ad78537f6c@34.125.71.36:26656,728360bdee66f08598a7577a68e799ce30e7b45e@5.189.157.57:26656,dc48a2e124a0667504c6f6b74db0511e8ffba516@65.108.68.233:26601,41a7e27b8e9b0fdda60c786258bfd7b2a3ad1548@65.108.76.44:11684,624b5d754f79a2466bff14c1dd462c5508d35f78@167.235.197.90:26656,9b8cd8bac2fa12f68e2c759042c982901f9527fe@86.48.1.142:26656,5fe2aaf297cc854431f2f8b481c659166b0eb868@38.242.143.53:26656,ce06cbd4c262108659e10ef9dd79ec489fd0cf65@65.108.57.170:26656,6894c679d851420522baf151e1d1bbf63d9defc9@144.76.97.251:12656,91e6871bda98f7c24047c14d39197f3c4c965e8d@135.181.156.52:26656,3331cda4dc98a9406186b9b51c29620689da88fd@62.171.191.52:26656,c11fa7d16d8632db92875fa52e297302574e8483@65.108.203.149:26656,be55033c4bfcc5307453c1f57999bccf4e7c3f0c@85.174.197.42:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.okp4d/config/config.toml

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

okp4d start

Сейчас нода не работает как сервис, нужно создать сервисный файл, что бы она работала в фоне, когда мы закроем терминал:

sudo tee /etc/systemd/system/okp4d.service > /dev/null <<EOF

Далее копируем одной командой:

[Unit]
Description=Okp4 Node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=/root/go/bin/okp4d start
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Копируем исполняемый файл

cd okp4d
sudo cp ./target/dist/okp4d /usr/local/bin/ || exit

Запускаем сервисный файл:

sudo systemctl daemon-reload

sudo systemctl enable okp4d

sudo systemctl restart okp4d

sudo systemctl status okp4d

Просмотр логов:

journalctl -u okp4d -f -o cat

Просмотр процесса синхронизации(false - нода синхронизирована):

curl http://localhost:26657/status | jq .result.sync_info.catching_up

После того, как Ваша нода будет полностью синхронизована - можно переходить к созданию валидатора:

okp4d keys add wallet
#создаем кошелек - не забудьте все сохранить

Идем в кран и просим монет

Теперь транзакция на создание валидатора:

okp4d tx staking create-validator \ --amount=1000000uknow \ --pubkey=$(okp4d tendermint show-validator) \ --moniker="<NODENAME>" \ --chain-id=okp4-nemeton \ --commission-rate="0.01" \ --commission-max-rate="0.10" \ --commission-max-change-rate="0.01" \ --min-self-delegation="1000000" \ --fees=1000uknow \ --from=wallet \ -y
#заменить <NODENAME> на имя своей ноды

Эксплорер сети тут

Спасибо за внимание и поздравляю с новой нодой!
С уважением, Ваша @kulikovae!

Smart Hamster Nodes Studio
Курс "Обучение по нодам" тут!
Наша новостная группа тут!

Наш ютуб тут!