Celestia
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