June 16, 2022

Paloma

Cистемные требования:

4 CPU 8GB RAM 200GB SSD

Аренда сервера:

Vdsina - 10% cкидка на пополнение (пополнять можно криптой).

Hetzner - 30$ за регистрацию (можно абузить с разных акков).

Установка

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

sudo apt update && sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc tmux -y

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

ver="1.18.1"
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

Cкачиваем и создаем бинарник

wget -qO - https://github.com/palomachain/paloma/releases/download/v0.1.0-alpha/paloma_0.1.0-alpha_Linux_x86_64v3.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 config chain-id paloma
palomad config keyring-backend test

Инициализируем конфиг

palomad init ИМЯ_НОДЫ --chain-id paloma

Скачиваем genesis и addrbook

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

Cтавим минимальный газ

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

Ставим сиды и пиры

SEEDS=""
PEERS="[email protected]:26601,[email protected]:38456,[email protected]:20456,[email protected]:46656,[email protected]:26656,[email protected]:21556,[email protected]:26656,[email protected]:26656,[email protected]:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.paloma/config/config.toml

Выключаем индексацию

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

Включаем прометеус

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.paloma/config/config.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

Делаем ресет

palomad tendermint unsafe-reset-all

Создаем сервис

sudo tee /etc/systemd/system/palomad.service > /dev/null <<EOF
[Unit]
Description=paloma
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

Посмотреть логи и синхронизацию

journalctl -fu palomad -o cat
palomad status 2>&1 | jq .SyncInfo

Создание кошелька

palomad keys add НАЗВАНИЕ_КОШЕЛЬКА

Создаем валидатора

palomad tx staking create-validator \
  --amount 100000000grain \
  --from ИМЯ_КОШЕЛЬКА \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.07" \
  --min-self-delegation "1" \
  --pubkey  $(palomad tendermint show-validator) \
  --moniker ИМЯ_НОДЫ \
  --chain-id paloma

Установка ноды одной командой

https://github.com/freshe4qa/paloma