Cosmos Nodes
February 17, 2023

DeFund Node Guide | Гайд по ноде ДеФанд

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

4/8/100 - минимальные

8/32/200 - рекомендуемые

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

Установка

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

sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential gcc git jq chrony -y

#устанавливаем го 
go_package_url="https://go.dev/dl/go1.19.linux-amd64.tar.gz"

go_package_file_name=${go_package_url##*\/} 

wget -q $go_package_url 

sudo tar -C /usr/local -xzf $go_package_file_name 

echo "export PATH=\$PATH:/usr/local/go/bin" >>~/.profile

echo "export PATH=\$PATH:\$(go env GOPATH)/bin" >>~/.profile

source ~/.profile

NODE_MONIKER="MONIKER"
#заменить MONIKER на имя своей ноды (придумать)

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

git clone https://github.com/defund-labs/defund.git

cd defund

git checkout v0.2.6

make install

defundd version

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

defundd config chain-id orbit-alpha-1

defundd init "$NODE_MONIKER" --chain-id orbit-alpha-1

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

SEEDS="[email protected]:26656,[email protected]:45656"
PEERS=""
sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.defund/config/config.toml

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

curl -s https://raw.githubusercontent.com/defund-labs/testnet/main/orbit-alpha-1/genesis.json > ~/.defund/config/genesis.json
curl -s https://snapshots2-testnet.nodejumper.io/defund-testnet/addrbook.json > $HOME/.defund/config/addrbook.json

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

sudo tee /etc/systemd/system/defundd.service > /dev/null << EOF
[Unit]
Description=Defund Node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which defundd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
defundd tendermint unsafe-reset-all --home $HOME/.defund --keep-addr-book

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

sudo systemctl daemon-reload
sudo systemctl enable defundd
sudo systemctl start defundd

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

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

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

sudo apt update

sudo apt install lz4 -y

sudo systemctl stop defundd

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

defundd tendermint unsafe-reset-all --home $HOME/.defund --keep-addr-book 

curl https://snapshots2-testnet.nodejumper.io/defund-testnet/orbit-alpha-1_2023-04-04.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.defund

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

sudo systemctl start defundd
sudo journalctl -u defundd -f --no-hostname -o cat

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

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

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

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

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

Идем в дискорд, ветка #testnet-faucet

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

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

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

defundd tx staking create-validator \
--amount=10000000ufetf \
--pubkey=$(defundd tendermint show-validator) \
--moniker="$NODE_MONIKER" \
--chain-id=orbit-alpha-1 \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.05 \
--min-self-delegation=1 \
--fees=2000ufetf \
--from=wallet \
-y

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

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

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

Обновление (06.03)(не актуально пока)

sudo systemctl stop defundd
#останавливем сервис

cd

rm -rf defund
#удаляем папку

git clone https://github.com/defund-labs/defund.git
#копируем репозиторий

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

git checkout v0.2.5
#выбираем необходмую версию для сборки

make install
#собираем проект

defundd version
#проверяем версию

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

sudo systemctl daemon-reload
sudo systemctl enable defundd
sudo systemctl start defundd

Проверяем логи:

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

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

Smart Hamster Nodes Studio

YouTube канал тут!

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

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