Встановлення і налаштування валідатора

Завантажуємо, встановлюємо та запускаємо ноду

Для завантаження по черзі виконуємо наступні команди

cd $HOME
git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app
git checkout v0.11.0
make install

Після встановлення перевіряємо версію

celestia-appd version

Відповідь має бути 0.11.0

Клонуємо репозиторій з мережами

cd $HOME
git clone https://github.com/celestiaorg/networks

Ініціалізуємо ноду

Створюємо та зберігаємо змінні

замініть текст прикладів MONIKER та CELESTIA_WALLET написаний кирилицею на власні назви латиницею

MONIKER='"назва_вашого_валідатора"'
CELESTIA_WALLET='назваВашогоГаманця'
CHAIN_ID="mocha" 

Зберігаємо змінні в .bash_profile

echo "export CHAIN_ID=$CHAIN_ID" >> $HOME/.bash_profile
echo "export MONIKER=${MONIKER}" >> $HOME/.bash_profile
echo "export CHELESTIA_WALLET=${CHELESTIA_WALLET}" >> $HOME/.bash_profile

Перечитуємо .bash_profile

source $HOME/.bash_profile

Ініціалізуємо

celestia-appd init $MONIKER --chain-id $CHAIN_ID

Копіюємо genesis.blob файл в файли апки

cp $HOME/networks/mocha/genesis.json $HOME/.celestia-app/config/

Видаляємо дані блокчейну

celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app

Налаштовуємо конфігурацію

Налаштовуємо пірів та сідів

SEEDS="9aa8a73ea9364aa3cf7806d4dd25b6aed88d8152@celestia.seed.mzonder.com:11156" 
sed -i "s|^seeds =.|seeds = "$SEEDS"|" $HOME/.celestia-app/config/config.toml

Взяли з гайду mzonder`a

Налаштовуємо снепшоти та стиснення

pruning_keep_recent="10000"
pruning_interval=$(shuf -n1 -e 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97)
snapshot_interval="5000"

Записуємо змінні в app.toml

sed -i "s/^pruning *=.*/pruning = \"custom\"/; s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/; s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/; s/^snapshot-interval *=.*/snapshot-interval = $snapshot_interval/" $HOME/.celestia-app/config/app.toml

Налаштовуємо клієнт командами

celestia-appd config chain-id $CHAIN_ID --home $HOME/.celestia-app
celestia-appd config keyring-backend test

Cтворюємо сервісний файл celestia-appd.service

Вводимо вce однією командою

tee <<EOF >/dev/null /etc/systemd/system/celestia-appd.service
[Unit]
Description=celestia-appd
After=network-online.target
[Service]
User=$USER
ExecStart=$(which celestia-appd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Перевіряємо сервісник

cat /etc/systemd/system/celestia-appd.service

Запускаємо сервісний файл

systemctl enable celestia-appd.service
systemctl daemon-reload
systemctl restart celestia-appd.service

Перевіряємо логи

journalctl -n 50 -f -u celestia-appd.service | ccze -A

Щоб мати можливість продовжити мусимо бути повністю синхронізовані. Перевіряємо чи синхронізовані командою нижче.

curl -s localhost:26657/status | jq | grep catching_up

Повинна бути відповідь "catching_up": false

Cтворюємо адреси гаманця для валідатора

Створюємо адресу. Якщо у вас вже є створена адреса то відновіть командою нижче.

Обов'язково збережіть сід фразу, щоб мати змогу відновити гаманець в майбутньому

celestia-appd keys add $CELESTIA_WALLET
#має показати сід фразу 

Відновлення гаманця

celestia-appd keys add $CELESTIA_WALLET --recover
#вводимо сід фразу 

Зберігаємо адрес валідатора-оператора та адрес гаманця в .bash_profile як змінні та перечитуємо файл

CELESTIA_ADDRESS=$(celestia-appd keys show $CELESTIA_WALLET -a)
VALIDATOR_OPERATOR_ADDRESS=$(celestia-appd keys show $CELESTIA_WALLET --bech val -a)
#перевіряємо
echo $CELESTIA_ADDRESS
echo $VALIDATOR_OPERATOR_ADDRESS
#записуємо змінні
echo 'export CELESTIA_ADDRESS='${CELESTIA_ADDRESS} >> $HOME/.bash_profile
echo 'export VALIDATOR_OPERATOR_ADDRESS='${VALIDATOR_OPERATOR_ADDRESS} >> $HOME/.bash_profile
#перечитуємо файл
source $HOME/.bash_profile

Можна перевірити баланс командою:

celestia-appd q bank balances $CELESTIA_ADDRESS

Cтворюємо адресу оркестратора

celestia-appd keys add ORCHESTRATOR_ADDRESS

Обов'язково збережіть сід фразу, щоб мати змогу відновити гаманець в майбутньому

Записуємо гаманець оркестратора як змінну.

ORCHESTRATOR_ADDRESS=$(celestia-appd keys show ORCHESTRATOR_ADDRESS -a)
echo $ORCHESTRATOR_ADDRESS
echo 'export ORCHESTRATOR_ADDRESS='${ORCHESTRATOR_ADDRESS} >> $HOME/.bash_profile
source .bash_profile

Додаємо EVM гаманець з метамаску в змінні

echo "export EVM_ADDRESS=0x000000вашEфірнийГаманець00000" >> $HOME/.bash_profile
source .bash_profile

Реєструємо валідатора

Перед реєстрацією закраньте тестові токени на CELESTIA_ADDRESS в Discord'і проєкту у вітці #mocha-faucet.

Для реєстрації вводимо однією командою код наведений нижче

Перенесіть спочатку кудись (наприклад в блокнот) відредагуйте, видаліть зайве, а потім вставляйте в термінал

celestia-appd tx staking create-validator \
--amount=1000000utia \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker=$MONIKER \
--identity "8E9AC3EAD19FF326" \ #тут може бути ваш KEYBASE ID(аватар)(можете видалити цей рядок)
--website "https://nanny.ventures" \ #тут може бути ваш вебсайт. (можете видалити цей рядок)
--details "Nanny Ventures Team Node" \ #тут може бути ваш додатковий текст (можете видалити цей рядок)
--chain-id=$CHAIN_ID \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000000 \
--from=$CELESTIA_WALLET \
--evm-address=$EVM_ADDRESS \
--orchestrator-address=$ORCHESTRATOR_ADDRESS \
--fees 1000utia \
--gas 900000

Можливо доведеться почаклувати з комісією для того щоб пройшла транзакція. Я виставляв --fees 2500 і --gas 2500000.

Перевіряйте транзакцію в експлорері https://celestia.explorers.guru

Перевірити з терміналу через декілька хвилин можна командою

celestia-appd q staking validator $CELESTIA_VALOPER

Збереження файлу ключів

Необхідно завантажити та забекапити файл ключів який знаходиться тут: $HOME/.celestia-app/config/priv_validator_key.json

Команди для скачування з сервера можете глянути в цій статті

Last updated