Установка ноды PIPE NETWORK в тестнете
❗️Для установки ноды PIPE NETWORK в тестнете, у вас должен быть код, который пришел к вам на почту. Без него нода работать не будет. Читайте Как получить код.❗️
Требования к серверу:
- ❗️Linux Ubuntu версии 24+
- 4 CPU
- 16 GB RAM (Можно использовать и меньше, например 4-8GB добавив недостающую память через файл подкачки)
- 100 GB Свободного места
- Порты: 80, 443
- Подходящий сервер LC-3 сервер за 480 ₽ / месяц.
Я использовал LC-3 пока проблем не вижу, как и нагрузки на сервер. Если позже нагрузка изменится, добавлю памяти через файл подкачки.
Внимание у хостера PLAY2GO - появился промокод SNGDAO для подписчиков канала. Промокод дает +5% к сумме вашего пополнения🔥
Подготовка
Останавливаем ноду в девнете, если есть, и копируем данные ноды:
nano ~/node_info.json
sudo systemctl stop pipe
sudo systemctl disable pipe
sudo systemctl daemon-reload
Установка
1️⃣ Выполняем обновление сервера:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt install curl iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli libgbm1 pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
sudo apt install -y libssl-dev ca-certificates
2️⃣ Открываем порты и включаем файрволл:
sudo ufw allow ssh sudo ufw enable sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload
3️⃣ Создаем настройки системы:
Копируем и вставляем код целиком
sudo bash -c 'cat > /etc/sysctl.d/99-popcache.conf << EOL net.ipv4.ip_local_port_range = 1024 65535 net.core.somaxconn = 65535 net.ipv4.tcp_low_latency = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.core.wmem_max = 16777216 net.core.rmem_max = 16777216 EOL' sudo sysctl -p /etc/sysctl.d/99-popcache.conf
sudo bash -c 'cat > /etc/security/limits.d/popcache.conf << EOL * hard nofile 65535 * soft nofile 65535 EOL'
4️⃣ Теперь закройте сессию терминала и подключитесь к серверу повторно, для того, чтобы настройки применились.
sudo mkdir -p /opt/popcache sudo mkdir -p /opt/popcache/logs
cd /opt/popcache
6️⃣Скачиваем ноду по ссылке из письма. Или так:
wget https://download.pipe.network/static/pop-v0.3.2-linux-x64.tar.gz
sudo tar -xzf pop-v0.3.2-linux-*.tar.gz
chmod 755 /opt/popcache/pop
7️⃣ Создаем и настраиваем конфиг файл:
nano config.json
Вставляем и редактируем свои данные в тексте конфига:
{
"pop_name": "your-pop-name",
"pop_location": "Город, Страна",
"invite_code": "Ваш код из письма",
"server": {
"host": "0.0.0.0",
"port": 443,
"http_port": 80,
"workers": 0
},
"cache_config": {
"memory_cache_size_mb": 4096,
"disk_cache_path": "./cache",
"disk_cache_size_gb": КОЛИЧЕСТВО_МЕСТА_КОТОРОЕ_ВЫДЕЛЯЕТЕ_ПОД_НОДУ,
"default_ttl_seconds": 86400,
"respect_origin_headers": true,
"max_cacheable_size_mb": 1024
},
"api_endpoints": {
"base_url": "https://dataplane.pipenetwork.com"
},
"identity_config": {
"node_name": "Имя ноды",
"name": "Ваше имя",
"email": "your.email@example.com",
"website": "https://your-website.com",
"discord": "your_discord_username",
"telegram": "your_telegram_handle",
"solana_pubkey": "ВАШ_СОЛАНА_КОШЕЛЕК"
}
}- Меняем
your-pop-nameна любое название - Меняем
Город, Странана город и страну где расположен сервер. - Меняем
Ваш код из письма - Меняем
Имя ноды - Меняем
Ваше имя - Меняем
your.email@example.comна почту на которую пришел код - Меняем
https://your-website.comЕсли нет сайта, можно пропустить. - Меняем
your_discord_usernameна ваш дискорд - Меняем
your_telegram_handleна ваш телеграм - Меняем ВАШ_СОЛАНА_КОШЕЛЕК на ваш кошелек в сети солана, новый или тот с которым участвовали в девнете.
- Сохраняем файл с помощью:
CTRL + X, затемY, далееEnter.
Вставляем и запускаем целиком:
sudo bash -c 'cat > /etc/systemd/system/popcache.service << EOL [Unit] Description=POP Cache Node After=network.target [Service] Type=simple User=root Group=root WorkingDirectory=/opt/popcache ExecStart=/opt/popcache/pop Restart=always RestartSec=5 LimitNOFILE=65535 StandardOutput=append:/opt/popcache/logs/stdout.log StandardError=append:/opt/popcache/logs/stderr.log Environment=POP_CONFIG_PATH=/opt/popcache/config.json [Install] WantedBy=multi-user.target EOL'
sudo systemctl daemon-reload
sudo systemctl enable popcache
sudo systemctl start popcache
Проверяем состояние ноды:
sudo systemctl status popcache
Проверяем, что нода использует порты:
ss -tulpn | grep -E ':80|:443'
curl -sk https://localhost/state && echo -e "\n"
В логах нам важно, чтобы было:
pop_id - тут указан ID вашей ноды
identity_registered":true
rewards_enabled":true
Так же можете проверить, что в solana_pubkey указан именно ваш кошелек.
Проверяем логи:
tail -f /opt/popcache/logs/stdout.log
Если где то ошибки, смотрите раздел Решение проблем. Если там не нашли свою ошибку, то сначало останавливаем ноду и перезапускаем. Делаем проверку. Если ошибка повторяется, то пишите в чат - будем разбираться.
Полезные команды:
- Дашбоард со статистикой ноды:
https://dashboard.testnet.pipe.network/node/ВАШ_ID_Ноды - Проверить состояние ноды
sudo systemctl status popcache - Посмотреть логи (логи показываются с самого начала, для перемещения к текущим логам нажмите
PgDnна клавиатуре)sudo journalctl -u popcache - Посмотреть показатели ноды:
curl -sk https://localhost/health && echo -e "\n" - Остановить ноду
sudo systemctl stop popcache - Перезапустить ноду:
cd /opt/popcache sudo systemctl daemon-reload sudo systemctl enable popcache sudo systemctl restart popcache
Где хранятся данные от ноды для переноса:
Файл .pop_state.json содержит данные от вашей ноды, находится в папке /opt/popcache/
Удаление ноды:
sudo systemctl status popcache
cd /opt sudo rm -rf /opt/popcache # Удаляет 'popcache' папку с файлами ноды
Обновление ноды:
cd /opt/popcache
sudo systemctl stop popcache
wget https://download.pipe.network/static/pop-v0.3.2-linux-x64.tar.gz
4) Удаляем прошлую версию ноды и распаковываем новую:
rm -f pop
tar -xzf pop-v0.3.2-linux-x64.tar.gz
chmod +x pop
rm -f logs/*
sudo systemctl start popcache
systemctl status popcache
Решение проблем:
🟥 Ошибка с регистрацией ноды
❌ Failed to register with API: Failed to connect to registration API: error sending request for url: operation timed out. Registration is required.
Или
Registration error: Registration failed with status 429 Too Many Requests
sudo systemctl stop popcache
cd /opt/popcache sudo systemctl daemon-reload sudo systemctl enable popcache sudo systemctl restart popcache
Если не помогло и ошибка та же, то останавливаете ноду. Ждете примерно час и запускаете.
🟥 Один из портов занят другим процессом.
ss -tulpn | grep -E ':80|:443'
Должно быть так. Если порт занят другим процессом отличным от "pop" и вы хотите его отключить, то выполняем:
sudo kill -9 номер_pid
🟥 Как добавить памяти серверу через файл подкачки:
1) Проверяем какой объём сейчас у файла подкачки:
swapon --show
2) Отключаем файл для изменения:
sudo swapoff /swapfile
3) Вводим новое значения файла, вместо xx укажите сколько гигабайт хотите выделить под файл подкачки:
sudo fallocate -l xxG /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile