August 22, 2023

Dymension Node Guide | Дименшн гайд по ноде

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

4/8/100

я взяла СPХ31 хетцнере

Установка

Подготавливаем сервер:

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq -y
#устанавливаем го 
sudo rm -rf /usr/local/go

curl -Ls https://go.dev/dl/go1.19.7.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local

eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)

eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
NODE_MONIKER="MONIKER"
#заменить MONIKER на имя своей ноды (придумать)

Копируем репозиторий:

git clone https://github.com/dymensionxyz/dymension.git
#выкачиваем репозиторий проекта

cd dymension
#переходим в папку dymension

git checkout v0.2.0-beta

make install

dymd version
#проверяем версию (v0.2.0-beta)

Инициализируем проект:

dymd config keyring-backend test
dymd config chain-id 35-c

dymd init "$NODE_MONIKER" --chain-id 35-c

Добавляем сиды и пиры в конфиг:

SEEDS="f97a75fb69d3a5fe893dca7c8d238ccc0bd66a8f@dymension-testnet.seed.brocha.in:30584,ebc272824924ea1a27ea3183dd0b9ba713494f83@dymension-testnet-seed.autostake.net:27086,b78dd0e25e28ec0b43412205f7c6780be8775b43@dym.seed.takeshi.team:10356,babc3f3f7804933265ec9c40ad94f4da8e9e0017@testnet-seed.rhinostake.com:20556,c6cdcc7f8e1a33f864956a8201c304741411f219@3.214.163.125:26656"

PEERS=""

sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.dymension/config/config.toml
Доп настройки(прунинг/цена газа):
sed -i 's|^pruning *=.*|pruning = "custom"|g' $HOME/.dymension/config/app.toml
sed -i 's|^pruning-keep-recent  *=.*|pruning-keep-recent = "100"|g' $HOME/.dymension/config/app.toml
sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|g' $HOME/.dymension/config/app.toml
sed -i 's|^snapshot-interval *=.*|snapshot-interval = 0|g' $HOME/.dymension/config/app.toml
sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0001udym"|g' $HOME/.dymension/config/app.toml

Загружаем генезис файл и адрбук:

curl -s https://raw.githubusercontent.com/dymensionxyz/testnets/main/dymension-hub/35-C/genesis.json > $HOME/.dymension/config/genesis.json
curl -s https://snapshots2-testnet.nodejumper.io/dymension-testnet/addrbook.json > $HOME/.dymension/config/addrbook.json

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

sudo tee /etc/systemd/system/dymd.service > /dev/null << EOF
[Unit]
Description=Dymension Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which dymd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target
EOF
dymd tendermint unsafe-reset-all --home $HOME/.dymension --keep-addr-book

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

sudo systemctl daemon-reload
sudo systemctl enable dymd
sudo systemctl start dymd

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

sudo journalctl -u dymd -f --no-hostname -o cat

Снепшот (если хотите):

sudo systemctl stop dymd

sudo apt update

cp $HOME/.dymension/data/priv_validator_state.json $HOME/.dymension/priv_validator_state.json.backup 

dymd tendermint unsafe-reset-all --home $HOME/.ojo --keep-addr-book 

curl https://snapshots-testnet.nodejumper.io/dymension-testnet/35-C_2023-08-22.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.dymension

mv $HOME/.dymension/priv_validator_state.json.backup $HOME/.dymension/data/priv_validator_state.json 

sudo systemctl start dymd

sudo journalctl -u dymd -f --no-hostname -o cat

Команды кошелька:

dymd keys add wallet
#создать новый кошелек
#запишите мнемонику!!!

dymd keys add wallet --recover
#восстановить существующий кошелек

dymd q bank balances $(ojod keys show wallet -a)
#проверка баланса 

Получаем токены:

Идем в дискорд

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

dymd status 2>&1 | jq .SyncInfo.catching_up
#ответ false - значит нода синхронизирована

Только когда нода синхронизирована - создаем валидатора:

dymd tx staking create-validator \
--amount=1000000udym \
--pubkey=$(dymd tendermint show-validator) \
--moniker="$NODE_MONIKER" \
--chain-id=ojo-devnet \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=1000udym \
--from=wallet \
-y

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

Данные о своем валидаторе:

dymd q staking validator $(dymd keys show wallet --bech val -a)

Заделегировать токены себе (10 шт):

dymd tx staking delegate $(dymd keys show wallet --bech val -a) 10000000udym --from wallet --chain-id 35-c --gas-prices 0.1udym --gas-adjustment 1.5 --gas auto -y

Спасибо за внимание! И поздравляю с новой нодой!
@kulikovae

Smart Hamster Nodes Studio

YouTube канал тут!

Наша новостная группа тут!

Курс "Обучение по нодам" тут!