Node collator
April 30, 2022

Defund Node

Уровень сложности: обычный
DeFund позволяет создавать децентрализованные биржевые фонды (формально называемые dETF) с базовыми активами из десятков и десятков блокчейнов (и быстро растущих). После создания dETF любой пользователь DeFund может инвестировать в любой из предложенных созданных dETF.

Что по наградам

Активным пользователям (общедоступной сети ещё называют) обещают дать 15% токенов (если брать из токеномики). На самом деле мне не до конца понятно, кто что получит, но очень высокий шанс, что просто держа ноду валидатор получит награды. Поэтому предлагаю поставить ноду. (ну а почему бы и нет, нужно залетать во что хватает времени и средства. Помощь проектам 🙂)

Строится на блокчейне Cosmos

Социальные сети:
Twitter: https://twitter.com/defund_finance
Discord: https://discord.com/invite/bzVhJPJBp8
Github: https://github.com/defund-labs

Сайт проекта: https://www.defund.app/

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

  • CPU: 3 CORE
  • RAM: 8 GB (для начала подойдет 4-6гб)
  • SSD: 300-500 GB
  • OS: Ubuntu 20.04 LTS

Для экономии своих средств можно взять на contabo.com (для закрытого тестнета возможно может не подойти)

Рекомендую брать такой хостинг, чтобы в любое время вы могли увеличить свои характеристики сервера (в закрытом тестнете берите мощный сервер)

Не хотите заморачиваться с установкой и с поддержкой ноды? Рекомендуем бота, выгодные цены , полное обслуживание и установка под ключ. Мы поддерживаем и ручаемся за него.
Ссылка: https://t.me/storenode_bot

Установка

По классике обновим сделаем апдейт пакетов (можно это шаг пропустить, так как в лайнере от Nodes Guru есть уже апдейт пакетов)

sudo apt-get update

Установим ноду от Nodes Guru (скачаем их скрипт, дадим все права на файл и запустим его)

wget -q -O defund.sh https://api.nodes.guru/defund.sh && chmod +x defund.sh && sudo /bin/bash defund.sh

Попросит имя ноды, придумываем название. Рекомендую делать названия осмысленные.

В конце логов установочного скрипта, вам покажет правильно ли установился скрипт. Проверить статус ноды можно командой

service defund status

Если пишет Active, значит всё ок. Чтобы продолжить работу в консоли нажмите CTRL + C

Если появилась ошибка посли установки скрипта, в конце статьи я предложил способ как можно это исправить.

Установим в окружение переменные

source $HOME/.bash_profile

Создадим кошелёк (вместо wallet, можете подставить любое название)

defundd keys add wallet

Задаём пароль и вы получите информацию о вашем кошельке, сохраняем все данные в надёжное место.

Затем вам нужно получить тестовые токены с крана

Чтобы проверить синхронизацию ноды пропишите эту команду

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

Если пишет true, значит нода ещё не синхронизирована. Данная нода долга синхронизируется, нужно подождать около дня.

Если пишет не false и значение в результате latest_block_height пишет последний блок, значит нода полностью синхронизирована.

Explorer (здесь можно следить за нодами и посмотреть последний блок) https://defund.explorers.guru/

Проверить баланс

defundd q bank balances ВАШАДРЕСКОШЕЛЬКА

Если ваша нода синхронизирована и есть тестовые токены, отправим транзакцию на создание валидатора.

defundd tx staking create-validator \
--amount=1000000ufetf \
--pubkey=$(defundd tendermint show-validator) \
--moniker="$DEFUND_NODENAME" \
--chain-id=defund-private-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1000000" \
--gas="auto" \
--from=wallet

Вместо wallet, впишите название вашего кошелька, если называли кошелёк не wallet

Пишем y в консоли и отправляем транзакцию в блокчейн.

Если пишет raw_log: '[]' - значит всё хорошо.

Узнать свой адрес валидатора/valoper

defundd keys show wallet --bech val -a

Делегировать свои токены можно этой командой. Не забудьте слово ВАШVALOPERАДРЕС заменить на ваш Valoper адрес.
Значение 10000000ufetf можно менять, в зависимости оттого какой у вас баланс. Имейте ввиду, оставьте немного токенов для коммисии.

defundd tx staking delegate ВАШVALOPERАДРЕС 10000000ufetf --from wallet --chain-id defund-private-1 --fees 1000ufetf

Для попадания в активный сет нужно 5133+ FETF в стейке (5+ запросов). (Смотрите на последнего валидатора и на его делегацию токенов.

Обязательно заполняем эту форму (не забудьте вступить в их дискорд канал

Полезные команды

  • Посмотреть логи
journalctl -u defund -f
  • Рестарт ноды
systemctl restart defund
  • Проверить статус ноды
curl localhost:26657/status
  • Список активных валидаторов
defundd query staking validators --limit 2000 -o json | jq -r '.validators[] | select(.status=="BOND_STATUS_BONDED") | [.operator_address, .status, (.tokens|tonumber / pow(10; 6)), .description.moniker] | @csv' | column -t -s"," | sort -k3 -n -r

Решение возможной ошибки при установке ноды

Если установочный файл в конце сказал, что есть проблемы с установкой ноды, то необходимо вручную переустановить некоторые компоненты. (Я столкнулся с этой проблемой и мне кажется скрипт слишком быстро или как-то некорректно инициализировал ноду)

Вводим команды по очереди
rm -rf /root/.defund/config/genesis.json
rm -rf $HOME/defund
git clone https://github.com/defund-labs/defund
cd defund
make install
defundd init "$DEFUND_NODENAME" --chain-id=defund-private-1 (если здесь появляется ошибка, в кавычках придумайте своё название, уберите $. Но лучше убедитесь почему не установилась значение в переменную DEFUND_NODENAME, скорее всего дело в этом)
seeds="[email protected]:26656,[email protected]:26656,[email protected]:26656"
#seeds="[email protected]:26656"
peers="[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:46656,[email protected]:26656,[email protected]:27656"
sed -i "s/^seeds *=.*/seeds = \"$seeds\"/;" $HOME/.defund/config/config.toml
sed -i "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/;" $HOME/.defund/config/config.toml
sed -i "s/pruning *=.*/pruning = \"custom\"/g" $HOME/.defund/config/app.toml
sed -i "s/pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/g" $HOME/.defund/config/app.toml
sed -i "s/pruning-interval *=.*/pruning-interval = \"10\"/g" $HOME/.defund/config/app.toml
#sed -i "s/snapshot-interval *=.*/snapshot-interval = 0/g" $HOME/.defund/config/app.toml
sed -i.bak -e "s/indexer *=.*/indexer = \"null\"/g" $HOME/.defund/config/config.toml
wget -O $HOME/.defund/config/genesis.json https://raw.githubusercontent.com/schnetzlerjoe/defund/main/testnet/private/genesis.json
defundd tendermint unsafe-reset-all
wget -O $HOME/.defund/config/addrbook.json https://api.nodes.guru/defund_addrbook.json
echo "[Unit]
Description=DeFund Node
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=$(which defundd) start
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/defund.service
sudo mv $HOME/defund.service /etc/systemd/system
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF
sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable defund
sudo systemctl restart defund

Если данный способ не помог установить ноду, можете написать в наш чат, попробуем разобраться (возможно проблема в вашем хостинге)

👨🏻‍💻 О авторе

@icodragondev - кодерский канал по крипте, где мы выкладываем интересные гайды по крипте.

🔥 Наш чат: @icodragondev_chat (в нём вы можете задать свои вопросы)

P.S Если у вас есть предложения к доработке статье, пишите мне в лс

Написал статью @icodragon