Celestia | Testnet - установка ноды
Требования к серверу- 4 CPU
- 8 GB RAM
- 250 GB SSD Storage
я взяла пока CPX31 на хетцнере (буду следить за памятью, скорее всего ближе к инсентивайз - буду увеличивать)
Установка:
Готовим сервер:
Код:
sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu -y
Устанавливаем go
Код:
wget -c https://golang.org/dl/go1.19.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xvzf go1.19.2.linux-amd64.tar.gz
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
source ~/.profile
go version
rm -rf go1.19.2.linux-amd64.tar.gz
Установка ноды:
Код:
cd $HOME
rm -rf celestia-app
git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app/
APP_VERSION=v0.6.0
git checkout tags/$APP_VERSION -b $APP_VERSION
make install
Что бы посмотреть какими командами в ноде можно оперировать:
Код:
celestia-appd --help
Код:
cd $HOME
rm -rf networks
git clone https://github.com/celestiaorg/networks.git
Инициализируем ноду:
Код:
celestia-appd init "node-name" --chain-id mamaki
#заменить node-name на имя ноды (придумать)
Код:
cp $HOME/networks/mamaki/genesis.json $HOME/.celestia-app/config
Код:
BOOTSTRAP_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/mamaki/bootstrap-peers.txt | tr -d '\n')
echo $BOOTSTRAP_PEERS
sed -i.bak -e "s/^bootstrap-peers *=.*/bootstrap-peers = \"$BOOTSTRAP_PEERS\"/" $HOME/.celestia-app/config/config.toml
Прунинг:у
Код:
PRUNING="custom"
PRUNING_KEEP_RECENT="100"
PRUNING_INTERVAL="10"
sed -i -e "s/^pruning *=.*/pruning = \"$PRUNING\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \
\"$PRUNING_KEEP_RECENT\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \
\"$PRUNING_INTERVAL\"/" $HOME/.celestia-app/config/app.toml
Reset
Код:
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app
Snap Shot :
Код:
cd $HOME
rm -rf ~/.celestia-app/data
mkdir -p ~/.celestia-app/data
SNAP_NAME=$(curl -s https://snaps.qubelabs.io/celestia/ | \
egrep -o ">mamaki.*tar" | tr -d ">")
wget -O - https://snaps.qubelabs.io/celestia/${SNAP_NAME} | tar xf - \
-C ~/.celestia-app/data/
Копируем исполняймый файл:
Код:
cd ~/go/bin
cp ./celestia-appd /usr/local/bin/ || exit
Запуск:
Создаем сервисный файл:
Код:
sudo tee /etc/systemd/system/celestiad.service > /dev/null <<EOF
Далее копируем одной командой:
Код:
[Unit]
Description=Celestia Node
After=network.target
[Service]
User=$USER
Type=simple
ExecStart=/root/go/bin/celestia-appd start
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
Запускаем сервисный файл:
Код:
sudo systemctl daemon-reload
sudo systemctl enable celestiad
sudo systemctl restart celestiad
sudo systemctl status celestiad
Просмотр логов:
Код:
journalctl -u celestiad -f -o cat