May 27, 2022

Celestia | Mamaki Testnet

Содержание

  1. О проекте
  2. Требования к оборудованию
  3. Установка ноды
  4. Создание кошелька
  5. Валидатор и делегирование
  6. Проверка ноды в списке валидаторов
  7. Полезные команды
  8. Ссылки на нас

О проекте

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

Проект собрал в seed раунде - 1.5$ миллиона , во главе с такими фондами как Interchain Foundation, Binance Labs и другие

👉 Детальный ресерч от нашей команды по проекту: https://teletype.in/@zloy_mex/8MrUET-V3OF

👉 Cсылка на анонс: https://blog.celestia.org/celestia-testnet-introduces-alpha-data-availability-api/

👉 Сайт проекта: https://celestia.org/

👉 Discord проекта: https://discord.gg/cNNCVt9q


Требования к оборудованию

Минимальные требования к оборудованию от разработчика

  • 4 процессора; чем выше тактовая частота, тем лучше
  • 8 ГБ ОЗУ
  • Диск 250 ГБ SSD
  • Пропускная способность: 1 Гбит/с для загрузки/100 Мбит/с для загрузки

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

Вариант 1 (Автоматическая установка)

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

curl https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/install-celestia.sh | bash

После выполнения скрипта переходите к созданию кошелька

Вариант 2 (Ручная установка)

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

sudo apt update && sudo apt upgrade -y

Устанавливаем требуемые пакеты

sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu -y

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

cd $HOME
ver="1.17.2"
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" >> $HOME/.bash_profile
source $HOME/.bash_profile

Качаем и компилируем ноду

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

Задаем системные переменные (На местах ВАШ_МОНИКЕР и ИМЯ_КОШЕЛЬКА введите ваши значение перед выполнением!)

CELESTIA_CHAIN="mamaki"
CELESTIA_NODENAME="ВАШ_МОНИКЕР"
CELESTIA_WALLET="ИМЯ_КОШЕЛЬКА"
echo "
export CELESTIA_CHAIN=${CELESTIA_CHAIN}
export CELESTIA_NODENAME=${CELESTIA_NODENAME}
export CELESTIA_WALLET=${CELESTIA_WALLET}
" >> $HOME/.bash_profile && source $HOME/.bash_profile

Инициализируем ноду

celestia-appd init $CELESTIA_NODENAME --chain-id $CELESTIA_CHAIN
celestia-appd config chain-id $CELESTIA_CHAIN
celestia-appd config keyring-backend test

Скачиваем файл генезиса

wget -O $HOME/.celestia-app/config/genesis.json "https://github.com/celestiaorg/networks/raw/master/mamaki/genesis.json"

Конфигурируем ноду

peers=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/mamaki/peers.txt | tr -d '\n' | head -c -1) && echo $peers
sed -i.bak -e "s/^persistent-peers *=.*/persistent-peers = \"$peers\"/" $HOME/.celestia-app/config/config.toml
bpeers="[email protected]:26656"
sed -i.bak -e "s/^bootstrap-peers *=.*/bootstrap-peers = \"$bpeers\"/" $HOME/.celestia-app/config/config.toml
sed -i.bak -e "s/^timeout-commit *=.*/timeout-commit = \"25s\"/" $HOME/.celestia-app/config/config.toml
sed -i.bak -e "s/^skip-timeout-commit *=.*/skip-timeout-commit = false/" $HOME/.celestia-app/config/config.toml
sed -i.bak -e "s/^mode *=.*/mode = \"validator\"/" $HOME/.celestia-app/config/config.toml
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app

Создаем сервисный файл

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

Регистрируем и запускаем сервис

sudo systemctl enable celestia-appd
sudo systemctl daemon-reload
sudo systemctl restart celestia-appd && journalctl -u celestia-appd -f -o cat 

(ОПЦИОНАЛЬНО) Добавляем сокращения команд

echo 'alias celestia_log="journalctl -u celestia-appd -f -o cat"' >> $HOME/.bash_profile
echo 'alias celestia_sync_stat="curl -s localhost:26657/status | jq .result.sync_info"' >> $HOME/.bash_profile

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

Импортируем системные переменные

source $HOME/.bash_profile

Проверяем статус синхронизации (False - синхронизирована)

curl localhost:26657/status | jq .result.sync_info

Cоздаём кошелек

celestia-appd keys add $CELESTIA_WALLET --keyring-backend test

Сохраняем информацию о кошельке в переменных системы
Добавляем адрес кошелька

WALLET_ADDRESS=$(celestia-appd keys show $CELESTIA_WALLET -a)

Добавляем valoper адрес

VALOPER_ADDRESS=$(celestia-appd keys show $CELESTIA_WALLET --bech val -a)

Импортируем переменные в систему

echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export VALOPER_ADDRESS='${VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

После синхронизации переходим в Discord проекта в faucet и запрашиваем токены с помощью

$request ВАШ_КОШЕЛЕК

Проверить баланс можно там-же с помощью

$balance ВАШ_КОШЕЛЕК

Валидатор и делегирование

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

celestia-appd tx staking create-validator \
 --amount=10000000utia \
 --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="1" \
 --from=$CELESTIA_WALLET

Проверить валидатора

celestia-appd q staking validator $VALOPER_ADDRESS

Делегировать токены можно командой (размер токенов вставьте желаемый с учетом газа в сети)

celestia-appd tx staking delegate $VALOPER_ADDRESS 10000000utia --from=$WALLET --chain-id=$CELESTIA_CHAIN --gas=auto

Создайте резервную копию файла "$HOME/.celestia-app/config/priv_validator_key.json"!


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

Есть возможность проверить себя в списке по ссылке на explorer:

https://celestia.explorers.guru/

Актуальную высоту блока можно проверить тут:

https://celestiascan.vercel.app/


Полезные команды

Проверить логов

celestia_log
journalctl -fu celestia-appd -o cat

Команда для проверки синхронизации

сelestia_sync_stat
curl localhost:26657/status | jq .result.sync_info

Остановить службу

sudo systemctl stop celestia-appd

Запустить службу

sudo systemctl start celestia-appd

Перезапустить службу

sudo systemctl restart celestia-appd

Удалить ноду

sudo systemctl stop celestia-appd
rm -rf $HOME/celestia-appd
sudo systemctl disable celestia-appd
sudo rm /etc/systemd/system/celestia-appd.service

Ссылки на нас

Официальный сайт | https://www.alphaproteam.com/

Наш Discord | https://discord.gg/alphateam

Наш Telegram | http://t.me/alphateampublic

Наш Twitter | https://twitter.com/AlphaTeamInfo