Установка ноды DeFund
Приветствую всех, сегодня мы расскажем о установке ноды DeFund
20.03.2023 Обновление на версию 0.2.6 и переход на новую сеть orbit-alpha-1.
Здесь как обновить ноду с предыдущей сети, установка с нуля ниже
systemctl stop defund rm -r defund git clone https://github.com/defund-labs/defund cd defund git checkout v0.2.6 make install cd $HOME defundd version
Удаляем данные предыдущей сети
SEEDS=f902d7562b7687000334369c491654e176afd26d@170.187.157.19:26656,2b76e96658f5e5a5130bc96d63f016073579b72d@rpc-1.defund.nodes.guru:45656 sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" ~/.defund/config/config.toml
peers="f902d7562b7687000334369c491654e176afd26d@170.187.157.19:26656,f8093378e2e5e8fc313f9285e96e70a11e4b58d5@rpc-2.defund.nodes.guru:45656,878c7b70a38f041d49928dc02418619f85eecbf6@rpc-3.defund.nodes.guru:45656" sed -i -e "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
Меняем название сети в конфиге и запускаем ноду
defundd config chain-id orbit-alpha-1 systemctl restart defund && journalctl -u defund -f -o cat
Так же не забудьте поменять название сети в баш профиле (nano .bash_profile) и заново подгрузить его (source .bash_profile)
Оригинальная инструкция находится тут. Дискорд - https://discord.gg/5D4Mdetf
Рекомендуемые требования для сервера
16GB RAM 200GB+ of disk space 4 Cores (modern CPU's)
Краткую инструкцию по аренде сервера можно посмотреть тут
Как установить несколько нод на один сервер можно почитать тут
Подробный разбор по установке нод Cosmos можно посмотреть тут.
Если будете выбирать сервер на Hetzner можете воспользоваться нашей ссылкой, будем благодарны.
Как всегда обновляем наш сервер
sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y
Устанавливаем go и проверяем версию
ver="1.19.4" && \ 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
После этого скачиваем и устанавливаем бинарник
rm -r defund git clone https://github.com/defund-labs/defund cd defund git checkout v0.2.6 make install cd $HOME defundd version
Задаем имена переменных для удобства, (DEFUND_CHAIN оставляем без изменения, в остальные вписываем свои имена)
DEFUND_CHAIN="orbit-alpha-1" DEFUND_MONIKER="YOUR_MONIKER_NAME" DEFUND_WALLET="YOUR_WALLET_NAME"
echo 'export DEFUND_CHAIN='${DEFUND_CHAIN} >> $HOME/.bash_profile echo 'export DEFUND_MONIKER='${DEFUND_MONIKER} >> $HOME/.bash_profile echo 'export DEFUND_WALLET='${DEFUND_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile
SEEDS=f902d7562b7687000334369c491654e176afd26d@170.187.157.19:26656,2b76e96658f5e5a5130bc96d63f016073579b72d@rpc-1.defund.nodes.guru:45656
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/" ~/.defund/config/config.toml
peers="f902d7562b7687000334369c491654e176afd26d@170.187.157.19:26656,f8093378e2e5e8fc313f9285e96e70a11e4b58d5@rpc-2.defund.nodes.guru:45656,878c7b70a38f041d49928dc02418619f85eecbf6@rpc-3.defund.nodes.guru:45656"
sed -i -e "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
Настраиваем прунинг (по желанию)
pruning="custom" pruning_keep_recent="1000" pruning_keep_every="0" pruning_interval="50"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.defund/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.defund/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.defund/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.defund/config/app.toml
Выключаем индексер (по желанию)
indexer="null" && \ sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.defund/config/config.toml
Устанавливаем минимальную цену за газ
sed -i.bak 's/minimum-gas-prices =.*/minimum-gas-prices = "0.0025ufetf"/g' $HOME/.defund/config/app.toml
sudo tee /etc/systemd/system/defund.service > /dev/null <<EOF [Unit] Description=Defund After=network.target [Service] Type=simple User=$USER ExecStart=$(which defundd) start Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
Перезагружаем системные сервисы и включаем наш
sudo systemctl restart systemd-journald sudo systemctl daemon-reload sudo systemctl enable defund sudo systemctl restart defund
Либо смотрим статус и ждем пока синхронизируется
curl -s localhost:26657/status
После того как увидите "catching_up": false нода синхронизировалась
Создаем кошелек !!! Не забываем сохранить мнемоник !!! так же попросит ввести пароль для доступа к кошельку СОХРАНЯЕМ или ЗАПОМИНАЕМ
Если кошелек уже есть то восстанавливаем с помощью мнемоника
Добавляем адрес кошелька в переменную для нашего удобства (для подтверждения нужен пароль введеный ранее)
echo 'export DEFUND_ADDR='${DEFUND_ADDR} >> $HOME/.bash_profile
После синхронизации создаем валидатор (в строке --amount цифрами прописываем сумму которую хотим делегировать буковки ufetf оставляем) также вводим, ранее введенный, пароль(не забываем что на кошельке с которого будете делегировать должны быть средства):
defundd tx staking create-validator \
--amount=1000000ufetf \
--pubkey=$(defundd tendermint show-validator) \
--moniker=$DEFUND_MONIKER \
--chain-id=orbit-alpha-1 \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--from=$DEFUND_WALLET \
--fees 500ufetf
Записываем адрес валидатора в переменную (все тот же пароль нужно будет ввести)
DEFUND_VALOPER=$(defundd keys show $DEFUND_WALLET --bech val -a)
echo 'export DEFUND_VALOPER='${DEFUND_VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Теперь как делегировать средства на валидатор: ( вместо значений в скобках [ ] вставляем свои данные (скобки тоже убираем), или переменные если задали)
defundd tx staking delegate [VALOPER_ADDRESS] [STAKE_AMOUNT]ufetf --from [your-key-name] --chain-id $DEFUND_CHAIN --fees 500ufetf
Ну и если вдруг ваша нода попала в тюрьму, то выход: ( вместо значений в скобках [ ] вставляем свои данные, (скобки тоже убираем) или переменные если задали)
defundd tx slashing unjail --from [your-key-name] --chain-id $DEFUND_CHAIN --fees 500ufetf
Большое спасибо, за внимание и уделенное время
Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms