Установка ноды CLAN
Здравствуйте сегодня мы расскажем об установке ноды CLAN
Оригинальная инструкция находится тут.
CLAN это web3 игровой блокчейн, более подробно можно прочитать на официальном сайте.
Рекомендуемые требования для сервера
4GB RAM 50GB+ of disk space 2 Cores (modern CPU's)
Краткую инструкцию по аренде сервера можно посмотреть тут
Как всегда обновляем наш сервер
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 и проверяем версию
cd $HOME wget -O go1.18.1.linux-amd64.tar.gz https://golang.org/dl/go1.18.1.linux-amd64.tar.gz rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz && rm go1.18.1.linux-amd64.tar.gz echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export GO111MODULE=on' >> $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile go version
После этого скачиваем и устанавливаем бинарник
git clone https://github.com/ClanNetwork/clan-network cd clan-network git checkout v1.0.4-alpha make install
Перемещаем бинарник в рабочий каталог
chmod +x /root/go/bin/cland && sudo mv /root/go/bin/cland /usr/local/bin/cland cd $HOME
Проверяем версию (должна быть 1.0.4-alpha)
Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)
MONIKER="your_name" CHAIN="playstation-2" WALLET_NAME="your_name"
echo 'export MONIKER='${MONIKER} >> $HOME/.bash_profile echo 'export CHAIN='${CHAIN} >> $HOME/.bash_profile echo 'export WALLET_NAME='${WALLET_NAME} >> $HOME/.bash_profile source $HOME/.bash_profile
curl https://raw.githubusercontent.com/ClanNetwork/testnets/main/$CHAIN/genesis.json > ~/.clan/config/genesis.json
10a70486f8215a2216f977084c160aabb660e1ee7ab4d25a89aeef86528fb387 .clan/config/genesis.json
pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.clan/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.clan/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.clan/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.clan/config/app.toml
Выключаем индексер (по желанию)
indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.clan/config/config.toml
CHAIN_REPO="https://raw.githubusercontent.com/ClanNetwork/testnets/main/$CHAIN" && \ export PEERS="$(curl -s "$CHAIN_REPO/persistent-peers.txt")" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ~/.clan/config/config.toml
sudo tee /etc/systemd/system/cland.service > /dev/null <<EOF [Unit] Description=clan node After=network-online.target
[Service] User=$USER ExecStart=$(which cland) start Restart=on-failure RestartSec=3 LimitNOFILE=65535
sudo systemctl daemon-reload sudo systemctl enable cland sudo systemctl restart cland
Смотрим логи и ждем когда нода начнет синхронизироваться
Или смотрим статус синхронизации (когда "catching_up": false то нода синхронизирована)
После синхронизации создаем кошелек (не забываем сохранить мнемоник)
Если кошелек уже есть то восстанавливаем с помощью мнемоника
Добавляем переменную с адресом кошелька
Добавляем переменную в баш профиль
echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
Теперь нам необходимо получить средства на кошелек. Для этого переходим по ссылке и запрашиваем токены на баланс кошелька (Советуем не злоупотреблять краном)
После запроса проверяем баланс
Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше что бы хватило на комиссию)
cland tx staking create-validator \ --amount 1000000000uclan \ --commission-max-change-rate "0.1" \ --commission-max-rate "0.20" \ --commission-rate "0.1" \ --min-self-delegation "1" \ --pubkey=$(cland tendermint show-validator) \ --moniker $MONIKER \ --chain-id $CHAIN \ --gas-prices 0uclan \ --from $WALLET_NAME
Задаем переменную с адресом валидатора
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
Делегация средств с кошелька на валидатора (сумму вводите свою)
cland tx staking delegate $VALOPER 1000000uclan --from $WALLET_NAME --chain-id $CHAIN
Ну и если вдруг ваша нода попала в тюрьму, то выход
cland tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN.
Большое спасибо, за внимание и уделенное время
Наш телеграмм канал по нодам — https://t.me/mmsnodes
Наш телеграмм чат по нодам - https://t.me/mmsnodeschat
Наш телеграмм канал по экосистеме Cosmos - https://t.me/cosmochannel_mms