Celestia
October 24, 2022

Встановлення Light Node

Зміст

  • Підключення до мережі Mocha (Testnet)
  • Підключення до мережі Arabica (Devnet)

Підключення до мережі Mocha (Testnet)

Вимоги до обладнання

  • Оперативна пам'ять: 2 GB
  • Процесор: Single Core
  • Місце на диску: 5 GB SSD Storage
  • Пропускна здатність: 56 Kbps для завантаження/56 Kbps для вивантаження

1. Налаштуйте залежності

Оновіть ОС

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

2. Встановіть GOlang

Виконайте наступну команду

ver="1.19.1" 
cd $HOME 
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"

Додайте /usr/local/go/bin до директорії $PATH

echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile

Перевірте версію GO

go version

Приклад виводу

go version go1.19.1 linux/amd64

3. Встановіть Celestia Node

Виконайте наступні команди

cd $HOME 
rm -rf celestia-node 
git clone https://github.com/celestiaorg/celestia-node.git 
cd celestia-node/ 
git checkout tags/v0.6.4 
make build 
make install 
make cel-key

Перевірте версію

celestia version

Приклад виводу

Semantic version: v0.6.4 
Commit: 747c9e593542dfb32a933c731a9cd74b1fab897f 
Build Date: Thu Dec 15 10:19:22 PM UTC 2022 
System version: amd64/linux 
Golang version: go1.19.1

4. Ініціалізуйюте Light Node

celestia light init

Приклад виводу:

2022-12-19T21:45:24.591Z        INFO    node    nodebuilder/init.go:19  Initializing Light Node Store over '/root/.celestia-light-mocha'
2022-12-19T21:45:24.591Z        INFO    node    nodebuilder/init.go:50  Saving config   {"path": "/root/.celestia-light-mocha/config.toml"}
2022-12-19T21:45:24.592Z        INFO    node    nodebuilder/init.go:51  Node Store initialized

5. Запустіть Light Node (Є два варіанти запуску)

1) Запустіть Light Node з підключенням до кінцевої точки gRPC будь-якої Validator Node (яка зазвичай відкрита на 9090 порту):

celestia light start --core.ip <ip-address> --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network mocha
  • Список кінцевих точок RPC ви зможете знайти тут
  • Для gateway IP-адреса за замовчуванням - localhost, а port - 26659
  • --core.ip gRPC port за замовчуванням - 9090, тому якщо ви не вкажете інший у командному рядку, буде використано цей порт.
  • Ви можете додати port після IP-адреси або використати флаг --core.grpc.port, щоб вказати інший порт, якщо бажаєте.

Приклад можливого вигляду команди:

celestia light start --core.ip https://rpc-mocha.pops.one --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network mocha

2) Запустіть Light Node за допомогою SystemD

SystemD дозволяє запустит ноду як фоновий процес

sudo tee <<EOF >/dev/null /etc/systemd/system/celestia-lightd.service
[Unit]
Description=celestia-lightd Light Node
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/go/bin/celestia light start --core.ip <ip-address>
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF

Не забудьте замінити <ip-address> на кінцеву точку RPC

Якщо файл був успішно створений, ви зможете побачити його зміст

cat /etc/systemd/system/celestia-lightd.service

Активуйте і запустіть демон celestia-lightd

sudo systemctl enable celestia-lightd
sudo systemctl start celestia-lightd

Перевірте демон

sudo systemctl status celestia-lightd

Команда для перевірки логів

sudo journalctl -u celestia-lightd.service -f

6. Ключі і гаманці

Загалом, коли ви запускаєте Light Node, адреса генерується автоматично. Щоб її знайти виконайте наступну команду

./cel-key list --node.type light --keyring-backend test --p2p.network mocha

Щоб запросити тестові токени на свою адресу, перейдіть в офіційний Дискорд Celestia, знайдіть канал #mocha-faucet і виконайте там наступну команду

$request <CELESTIA-ADDRESS>

Приклад

$request celestia18pdfl6hn268m5fp67jc7ywgk54j2yar7qsu5ge

За бажанням ви можете створити свою власну адресу

Для цього зробіть наступне

Створіть cel-key

cd celestia-node
make cel-key

Згенеруйте ключ для Light Node

./cel-key add <ім'я_вашого_ключа> --keyring-backend test --node.type light --p2p.network mocha

Не забудьте поповнити свій новий гаманець

Ви можете запустити Light Node зі створеним вище ключем, виконавши наступну команду

celestia light start --core.ip <ip-address> --keyring.accname <ім'я_вашого_ключа> --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network mocha

Підключення до мережі Arabica (Devnet)

Вимоги до обладнання

  • Оперативна пам'ять: 2 GB
  • Процесор: Single Core
  • Місце на диску: 5 GB SSD Storage
  • Пропускна здатність: 56 Kbps для завантаження/56 Kbps для вивантаження

1. Налаштуйте залежності

Оновіть ОС

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

2. Встановіть GOlang

Виконайте наступну команду

ver="1.19.1" 
cd $HOME 
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"

Додайте /usr/local/go/bin до директорії $PATH

echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile

Перевірте версію GO

go version

Приклад виводу

go version go1.19.1 linux/amd64

3. Встановіть Celestia Node

Виконайте наступні команди

cd $HOME 
rm -rf celestia-node 
git clone https://github.com/celestiaorg/celestia-node.git 
cd celestia-node/ 
git checkout tags/v0.7.1 
make build 
make install 
make cel-key

Перевірте версію

celestia version

Приклад виводу

Semantic version: v0.7.1 
Commit: c958fd3b3921ca993489d88530e59fe7f337bf4d 
Build Date: Thu Dec 15 10:19:22 PM UTC 2022 
System version: amd64/linux 
Golang version: go1.19.1

4. Ініціалізуйюте Light Node

celestia light init --p2p.network arabica

Приклад виводу:

2022-12-19T21:45:00.802Z INFO node nodebuilder/init.go:19 Initializing Light Node Store over '/root/.celestia-light-arabica-6' 
2022-12-19T21:45:00.803Z INFO node nodebuilder/init.go:50 Saving config {"path": "/root/.celestia-light-arabica-6/config.toml"}` 
2022-12-19T21:45:00.803Z INFO node nodebuilder/init.go:51 Node Store initialized

5. Запустіть Light Node

Запустіть Light Node з підключенням до кінцевої точки gRPC будь-якої Validator Node (яка зазвичай відкрита на 9090 порту)

celestia light start --core.ip <ip-address> --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network arabica
  • Список кінцевих точок RPC для Devnet ви зможете знайти тут
  • Для gateway IP-адреса за замовчуванням - localhost, а port - 26659
  • --core.ip gRPC port за замовчуванням - 9090, тому якщо ви не вкажете інший у командному рядку, буде використано цей порт.
  • Ви можете додати port після IP-адреси або використати флаг --core.grpc.port, щоб вказати інший порт, якщо бажаєте.

Приклад можливого вигляду команди:

celestia light start --core.ip https://limani.celestia-devops.dev --gateway --gateway.addr 127.0.0.1 --gateway.port 26659 --p2p.network arabica

6. Ключі і гаманці

Загалом, коли ви запускаєте Light Node, адреса генерується автоматично. Щоб її знайти виконайте наступну команду

./cel-key list --node.type light --keyring-backend test --p2p.network arabica

Щоб запросити фаусет на свій адрес, перейдіть в офіційний Дискорд Celestia, знайдіть канал #arabica-faucet і виконайте там наступну команду

$request <CELESTIA-ADDRESS>

Приклад

$request celestia18pdfl6hn268m5fp67jc7ywgk54j2yar7qsu5ge

За бажанням ви можете створити свою власну адресу

Для цього зробіть наступне

Створіть cel-key

cd celestia-node
make cel-key

Згенеруйте ключ для Light Node

./cel-key add <ім'я_вашого_ключа> --keyring-backend test --node.type light --p2p.network arabica

Не забудьте поповнити свій новий гаманець

Ви можете запустити Light Node зі створеним вище ключем, виконавши наступну команду

celestia light start --keyring.accname <ім'я_вашого_ключа> --core.ip <ip-address> --gateway --gateway.addr <ip-address> --gateway.port <port> --p2p.network arabica