April 6, 2022

Celestia

Devnet-2

Официальные ресурсы:

Discord | Twitter | Telegram | Telegram_ru | Github | Youtube | Web | Explorer


Описание проекта:

Celestia - это революционно новый блокчейн-дизайн, который сделает децентрализованные приложения более безопасными, суверенными и масштабируемыми.
Celestia - это минимальный блокчейн, который только заказывает и публикует транзакции, а не выполняет их. Разделяя уровни консенсуса и выполнения, Celestia модулизирует стек блокчейн-технологий и открывает новые возможности для разработчиков децентрализованных приложений.

Сейчас идет devnet-2 без наград, но в роадмапе есть интересные моменты для нас. Пробуем зайти раньше, возможно, попасть в incentivized testnet станет легче, принимая участие в devnet-2. Девнеты обычно не стабильно работают, но думаю Вас этим не спугнуть :)


Форма интереса:

Заполняем форму интереса для участия в проекте(кто заполнял ранее - не нужно дублировать)


Установка ноды:

1.Создаем сервер(минимальные требования 2CPU 4gb RAM 200gb SSD) или подключаемся к имеющемуся(я поставил у себя вместо evmos, который уже закончился)

Нельзя ставить с: AssetMantle, Evmos, Masa finance, HumaNode

Хостинги, которые используем - https://teletype.in/@andretik02/Ai7ijlr9xg3

2.Подключаемся к серверу через терминал

3.Запускаем скрипт для установки validator node

curl -s https://raw.githubusercontent.com/bogdankornij/avangard-nodes/master/celestia/install_1.sh > install_1.sh && chmod +x install_1.sh && ./install_1.sh
source .profile

После запуска скрипта вводим имя ноды без спец символов, пробелов и тд. Оно запишется в переменную, в дальнейших шагах $CELESTIA_NODENAME будет подставлять ваше имя ноды или кошелька.

Если при установке ошибка "curl: command not found", то нужно выполнить команду:

sudo apt update && sudo apt install curl -y

4.Ждем, пока закончится синхронизация ноды(см. описание ниже). Ждем статуса "catching_up:" false и ТОЛЬКО после этого переходим на следующий шаг.

Проверяем статус командой:

celestia-appd status 2>&1 | jq .SyncInfo

Где вы можете увидеть latest_block_height - высота блока на ноде и cathing_up - статус синхронизации(true - идет синхронизация, false - нода догнала блокчейн)

Высоту блока блокчейна вы можете найти в эксплорере и прикинуть время, сколько еще вам ждать до полной синхронизации :)

5.Создаем кошелек, вписываем значения в переменные:

celestia-appd keys add $CELESTIA_NODENAME &> $HOME/celestia_account.txt
curl -s https://raw.githubusercontent.com/bogdankornij/avangard-nodes/master/celestia/install_1_wallet.sh | bash
source .profile

Адрес кошелька и мнемоническая фраза будут записаны в файл, посмотреть содержимое вы можете командой

cat $HOME/celestia_account.txt

и забекапить на свой пк

6.Запрашиваем с крана монетки в дискорде канал faucet:

!faucet celes1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

где celes1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - ваш адрес кошелька.

Смотрим командой на сервере:

echo $CELESTIA_ADDR

7.Проверяем баланс и создаем валидатора:

celestia-appd q bank balances $CELESTIA_ADDR
celestia-appd tx staking create-validator \
--amount=1050000celes \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker=$CELESTIA_NODENAME \
--chain-id=$CELESTIA_CHAIN \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000000 \
--from=$CELESTIA_NODENAME

Если вы хотите сразу привязать keybase.io и добавить детали с вебсайтом, то команда будет выглядеть так:

celestia-appd tx staking create-validator \
--amount=1050000celes \
--pubkey=$(celestia-appd tendermint show-validator) \
--moniker=$CELESTIA_NODENAME \
--chain-id=$CELESTIA_CHAIN \
--commission-rate=0.1 \
--commission-max-rate=0.2 \
--commission-max-change-rate=0.01 \
--min-self-delegation=1000000 \
--from=$CELESTIA_NODENAME \
--identity="64bit_key_from_keybase" \
--details="Details of your validator" \
--website="https://web.site"

8.Устанавливаем full node и light client

curl -s https://raw.githubusercontent.com/bogdankornij/avangard-nodes/master/celestia/install_2.sh > install_2.sh && chmod +x install_2.sh && ./install_2.sh

Update Нужно выполнить небольшой фикс, сменить порт 2121 на 2122 в лайт клиенте:

sed -i.bak -e 's/ListenAddresses = .*/ListenAddresses = ["\/ip4\/0.0.0.0\/tcp\/2122", "\/ip6\/::\/tcp\/2122"]/g' $HOME/.celestia-light/config.toml
sed -i.bak -e 's/NoAnnounceAddresses = .*/NoAnnounceAddresses = ["\/ip4\/0.0.0.0\/tcp\/2122", "\/ip4\/127.0.0.1\/tcp\/2122", "\/ip6\/::\/tcp\/2122"]/g' $HOME/.celestia-light/config.toml
sed -i.bak -e 's/BootstrapPeers = .*/BootstrapPeers = []/g' $HOME/.celestia-light/config.toml
sed -i.bak -e 's/MutualPeers = .*/MutualPeers = []/g' $HOME/.celestia-light/config.toml
sudo systemctl restart celestia-light

Проверка работоспособности ноды:

Статусы:

sudo systemctl status celestia-appd celestia-full celestia-light

Логи:

journalctl -n 100 -f -u celestia-appd
journalctl -n 100 -f -u celestia-full
journalctl -n 100 -f -u celestia-light

Рестарт:

sudo systemctl restart celestia-appd celestia-full celestia-light

Стоп:

sudo systemctl stop celestia-appd celestia-full celestia-light

Старт:

sudo systemctl start celestia-appd celestia-full celestia-light

Полезное:

- Проверка баланса:

celestia-appd q bank balances $CELESTIA_ADDR

- Инфо о валидаторе:

celestia-appd q staking validator $CELESTIA_VALOPER

- Выход из тюрьмы:

celestia-appd tx slashing unjail \
--from=$CELESTIA_NODENAME \
--chain-id=$CELESTIA_CHAIN -y

- Увеличить стейк из доступных монет:

celestia-appd tx staking delegate "$CELESTIA_VALOPER" 1050000celes \
--chain-id $CELESTIA_CHAIN \
--from "$CELESTIA_NODENAME" \
--gas auto -y

- Привязать keybase.io, изменить. Подтянется картинка оттуда в вашего валидатора:

celestia-appd tx staking edit-validator --identity "64bit_key_from_keybase" --from $CELESTIA_ADDR

Бекап ноды:

cd $HOME
tar --exclude=".celestia-app/data/*" -cvzf celestia.tar.gz .celestia-app/

Удаление ноды:

sudo systemctl stop celestia-appd celestia-full celestia-light
sudo systemctl disable celestia-appd celestia-full celestia-light
rm -rf $HOME/celestia-app $HOME/networks $HOME/celestia-node
rm -rf $HOME/.celestia-app $HOME/.celestia-full $HOME/.celestia-light