Завантажуємо, встановлюємо та запускаємо ноду
Для завантаження по черзі виконуємо наступні команди
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
Налаштовуємо снепшоти та стиснення
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
Команди для скачування з сервера можете глянути в цій статті