June 13, 2022

PalomaChain установка ноды

Обновляем все пакеты

sudo apt update && sudo apt upgrade -y

Устанавливаем необходимые утилиты

sudo apt install curl build-essential git wget jq make gcc tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

Устанавливаем GO:

ver="1.18.2"
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
go version

Версия GO должна быть 1.18.2

Создаем переменные

NODENAME="Имя вашей ноды"

Далее сохраняем переменные в баш:

echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
echo "export WALLET=wallet" >> $HOME/.bash_profile
echo "export CHAIN_ID=paloma" >> $HOME/.bash_profile
source $HOME/.bash_profile

Скачиваем и распаковываем бинарник:

wget -qO - https://github.com/palomachain/paloma/releases/download/v0.2.4-prealpha/paloma_0.2.4-prealpha_Linux_x86_64.tar.gz | \
sudo tar -C /usr/local/bin -xvzf - palomad
sudo chmod +x /usr/local/bin/palomad
sudo wget -P /usr/lib https://github.com/CosmWasm/wasmvm/raw/main/api/libwasmvm.x86_64.so

Начинаем инициацию

palomad init $NODENAME --chain-id $CHAIN_ID

Записываем чейн и keyring-backend в конфиг

palomad config chain-id $CHAIN_ID
palomad config keyring-backend file

Скачиваем генезис файл

wget -qO $HOME/.paloma/config/genesis.json "https://raw.githubusercontent.com/palomachain/testnet/master/paloma-testnet-5/genesis.json"

Скачиваем addrbook

wget -qO $HOME/.paloma/config/addrbook.json "https://raw.githubusercontent.com/palomachain/testnet/master/paloma-testnet-5/addrbook.json"

Ставим минимальную цену газа

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0grain\"/" $HOME/.paloma/config/app.toml

Настраиваем прунинг

pruning="custom" 
pruning_keep_recent="100" 
pruning_keep_every="0" 
pruning_interval="50" 
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.paloma/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.paloma/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.paloma/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.paloma/config/app.toml

Отключаем индексацию

indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.paloma/config/config.toml

Ставим peer'ы и записываем их

SEEDS=""
PEERS="[email protected]:54056,[email protected]:26656,[email protected]:36416,[email protected]:30656,[email protected]:36416,[email protected]:36656,[email protected]:54056,[email protected]:28656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.paloma/config/config.toml

Сбрасываем данные цепи

palomad tendermint unsafe-reset-all

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

sudo tee /etc/systemd/system/palomad.service > /dev/null <<EOF
[Unit]
Description=PalomaNode
After=network-online.target

[Service]
User=$USER
ExecStart=$(which palomad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

Запускаем сервисный файл

sudo systemctl daemon-reload && sudo systemctl enable palomad && sudo systemctl restart palomad

Посмотреть логи

sudo journalctl -u palomad -f -o cat

Эксплорер можете найти здесь
Создаем кошелек

palomad keys add $WALLET

Кран - актуальную информацию уточняйте в чате

Создаем переменную с адресом для удобства

ADDRESS=$(palomad keys show $WALLET -a)
echo 'export ADDRESS='${ADDRESS} >> $HOME/.bash_profile

Проверяем баланс

palomad query bank balances $ADDRESS

Создаем валидатора и указываем необходимое кол-во токенов

palomad tx staking create-validator \
  --amount 100000000000ugrain \
  --pubkey  $(palomad tendermint show-validator) \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --gas 10000000 \
  --commission-max-rate "0.2" \
  --commission-rate "0.07" \
  --min-self-delegation "1" \
  --moniker $NODENAME \
  --node "tcp://164.90.134.139:26656" \
  --chain-id $CHAIN_ID \
  --yes \
  -b block

Создаем переменную с валопер адресом для удобства

VALOPER=$(palomad keys show $WALLET --bech val -a)
echo 'export VALOPER='${VALOPER} >> $HOME/.bash_profile
source $HOME/.bash_profile

Делегировать токены в себя

palomad tx staking delegate $VALOPER 10000000ugrain --from=$WALLET --chain-id=$CHAIN_ID

Редактируем валидатора на свое усмотрение

palomad tx staking edit-validator \
--from=$WALLET \
--website="ваш сайт" \
--identity="можете получить на keybase.io" \
--details="описание" \
--chain-id=$CHAIN_ID \
--node cat "$HOME/.paloma/config/config.toml" \
| grep -oPm1 "(?<=^laddr = \")([^%]+)(?=\")"

Поздравляю, вы стали валидатором!

Мой чат для обсуждения: https://t.me/russianbears1

Авторский канал: https://t.me/cryptorussianbears