Pipe Network — ставим ноду / screen
lvch_clan — канал не только о нодах, подписывайся
ВАЖНОЕ ОБНОВЛЕНИЕ
Этот гайд по установке ноды в сессии screen. Именно его я показываю в видео. Но на практике оказалось, что такой вариант нестабильно работает и показывает плохие результаты
Поэтому я подготовил новый гайд с установкой ноды через systemd-сервис
Гайд находится по ссылке https://teletype.in/@viktor_leonenko/pipe_network_systemd
Вы можете выбрать любой вариант, они будут работать оба, но новый будет стабильнее
Установка ноды в screen и через systemd-сервис отличается способом управления: в screen мы запускаем ноду в терминале, который работает в фоновой сессии — это просто, но если сервер перезагрузится или сессия прервётся, нода остановится, и нам придётся вручную её перезапускать; через systemd-сервис мы создаём специальный файл (например, pop.service), где прописываем настройки вроде автоматического запуска при загрузке сервера, перезапуска при сбоях (Restart=always) и даже привязки к портам 80/443 через параметры вроде AmbientCapabilities=CAP_NET_BIND_SERVICE, что позволяет ноде использовать привилегированные порты без ручного повышения прав — это делает процесс надёжным, автоматизированным и удобным для долгосрочной работы, а управление упрощается командами systemctl start/stop/restart
О проекте Pipe Network
Pipe Network — это децентрализованная сеть доставки контента (CDN) на базе блокчейна Solana. Она позволяет участникам без разрешений развёртывать точки присутствия (PoP) в определённых регионах, обеспечивая быстрый доступ к высококачественным медиа и приложениям в реальном времени через безопасное и масштабируемое решение
Чтобы объяснить, как работает Pipe Network, можно сравнить его с существующими в реальном мире аналогами, которые тоже доставляют контент через сеть
Cloudflare
Это одна из самых известных централизованных сетей доставки контента (CDN). Cloudflare имеет серверы по всему миру, которые хранят копии сайтов и ускоряют их загрузку для пользователей, находящихся рядом. Pipe Network отличается тем, что он децентрализованный (нет единого владельца), и любой может подключиться к сети, установив свою точку
Akamai
Ещё один крупный игрок в мире CDN. Akamai тоже распределяет серверы по планете, чтобы видео, игры и сайты загружались быстрее. Как и Cloudflare, это централизованная система, а Pipe Network использует блокчейн и позволяет людям самим участвовать в процессе, без посредников
BitTorrent
Это пример децентрализованной системы, где пользователи сами делятся файлами друг с другом (peer-to-peer). Pipe Network похож на BitTorrent тем, что тоже децентрализован, но он заточен именно под быструю доставку медиа (видео, стримы) и работает на блокчейне Solana для большей скорости и надёжности
Netflix Open Connect
Netflix использует свою собственную сеть серверов (Open Connect), которые ставят ближе к пользователям, чтобы фильмы и сериалы грузились без буферизации. Это централизованная система, управляемая самой компанией, в отличие от Pipe Network, где любой может добавить свою точку доставки.
Основное отличие Pipe Network:
В отличие от большинства существующих решений (которые обычно контролируются крупными компаниями), Pipe Network даёт возможность любому человеку или группе подключиться к сети и помогать доставлять контент. Это как если бы вы могли сами стать частью системы доставки Netflix или Cloudflare, просто установив оборудование у себя дома или в своём районе, и получать за это бонусы через блокчейн
Инвест: $10M от Multicoin Capital, Solana Ventures, Robot Ventures, Meltem Demirors, Анатолий Яковенко (CEO Solana). Раунд состоялся 16 сентября 2024 года
Сайт / Discord / X.com / Cryptorank / Docs
В данный момент проходит стадия DevNet 2 и уже можно установить ноду. DevNet 2 — это по сути альфа-тестовая сеть. Как только она проявит стабильность в течение 40 дней, будет запущена тестовая сеть
На сайте нам предлагают подать заявку на оператора ноды. Форму можно найти по ССЫЛКЕ. Ноду можно поставить и без заполнения формы, но лучше отправить форму и параллельно поставить ноду
Требования к серверу
- Ubuntu 22.04+
- Минимально 4 GB оперативной памяти (можно настроить), чем больше, тем лучше для получения больших наград
- Не менее 100 GB свободного места на диске (можно настроить). Оптимально — 200–500 GB
- Свободные порты ports 80 и 443
Сервер можно арендовать на на VDSina, AEZA, Contabo, Xorek
Установка ноды
Скачиваем и устанавливаем Termius — есть версия для macOS, Windows
Подключаемся к серверу, используя данные от хостера — IP, root, password
Устанавливаем необходимые пакеты
sudo apt update && sudo apt upgrade -y sudo apt install net-tools
#скачать скомпилированный бинарный файл pop curl -L -o pop https://dl.pipecdn.app/v0.2.8/pop #дать бинарному файлу pop права на выполнение chmod +x pop #создать папку для кэша загрузок mkdir download_cache
Скачиваем screen и запускаем сессию
apt install -y screen
screen -S pipe_node
./pop \ --ram 4 \ --max-disk 100 \ --cache-dir /data \ --pubKey <KEY>
--ram 4 — объем оперативной памяти, который вы можете выделить на своем сервере
--max-disk 100 — максимальный объем выделяемого пространства жесткого диска, выделяемого под загрузку нодой
--pubKey <KEY> — вместо <KEY> вставляем адрес вашего кошелька Solana
Проверить сколько доступно оперативной памяти можно командой
htop
Если утилита не установлена, устанавливаем командой
sudo apt install htop
В моем случае можно использовать ~8-10 GB оперативки
Проверить свободное место на диске можно командой
df -h
В моем случае свободно 891 GB, а использовать я буду ~700
При успешном старте ноды видим следующие логи
Теперь вводим комбинацию Ctrl + C, чтобы иметь возможность вводить другие команды
Мониторинг ноды
./pop --status
Еще одна команда для проверки данных по ноде
./pop --stats
./pop --points
Показатели ноды могут быть плохими, если заняты порты ports 80 и 443
Реферальная система
Ноды могут создавать реферальные коды:
./pop --gen-referral-route
Новые ноды могут зарегистрироваться с помощью реферального кода:
./pop --signup-by-referral-route <КОД>
Чтобы использовать мой реферальный код, необходимо ввести
./pop --signup-by-referral-route 654e0c0ea1393591
На данный момент команда ограничивает количество запросов от нод и вы можете получить сообщение вида
Значит вам надо вернуться через час)
Тот, кто пригласил (реферер), получает 10 очков, если приглашённый узел:
Узел, создавший реферальный код, тоже должен поддерживать хороший репутационный рейтинг, чтобы рефералы считались действительными и приносили пользу сети
Эта программа со временем расширится, добавив разделение наград
- Зайдите на сайт:
https://dashboard.pipenetwork.com/node-lookup - Введите ID узла реферера в поле "Node Lookup"
- Прокрутите вниз до раздела "Referral Stats", чтобы посмотреть данные по приглашённым нодам
Система репутации
Репутационный рейтинг ноды (от 0 до 1) рассчитывается на основе работы за последние 7 дней и состоит из трёх основных компонентов:
Оценка времени работы (Uptime Score) — 40% от общего рейтинга
- Отчёты сначала группируются по часам, чтобы избежать перекоса из-за слишком частой отчётности
- День считается с "хорошим покрытием", если отчёты есть хотя бы за 75% часов (18+ часов)
- Для дней с хорошим покрытием среднее время работы взвешивается по полноте покрытия дня
- Итоговая оценка времени работы — это средневзвешенное дневное время работы, поделённое на секунды в сутках (максимум 100%)
Историческая оценка (Historical Score) — 30% от общего рейтинга
- Зависит от того, сколько дней из последних 7 имели хорошее покрытие
- Пример: если 6 из 7 дней имели хорошее покрытие, историческая оценка будет 0.857 (86%)
- Это поощряет стабильную отчётность со временем
Оценка передачи данных (Egress Score) — 30% от общего рейтинга
- Зависит от общего объёма переданных данных за 7 дней
- Нормируется относительно цели в 1 ТБ в день
- Максимум 100%
Репутация — это показатель того, насколько хорошо твой узел (нода) работает в сети за последние 7 дней. Вот как это устроено и что делать, чтобы твой скор был высоким:
### Как считается репутация
1. **Активность каждый час**: Система смотрит, как часто твой узел отчитывается о своей работе в течение дня. День считается "хорошо покрытым", если есть данные хотя бы за 18 часов из 24 (75% времени).
2. **Среднее время работы**: Для каждого дня с хорошим покрытием считается, сколько времени узел был активен. Чем больше часов он работает, тем лучше.
3. **Итоговый скор**: Берется среднее время работы за все "хорошо покрытые" дни и делится на общее количество секунд в сутках. Плюс учитывается, сколько дней из 7 были с хорошим покрытием. Например, если 6 из 7 дней были активны, это уже 86% от максимума.
### Что делать, чтобы получить высокий скор
1. **Держи узел включенным 24/7**: Чем дольше твой узел работает без перерывов, тем лучше. Идеально — не выключать его вообще, чтобы он был активен все 24 часа каждый день.
2. **Проверяй интернет**: Убедись, что у тебя стабильное подключение. Если интернет пропадает, узел не сможет отчитаться, и это снизит твой скор.
3. **Минимум 18 часов в день**: Даже если не получается 24 часа, старайся, чтобы узел работал хотя бы 18 часов в сутки. Это минимальный порог для "хорошего покрытия".
4. **Следи за 7 днями**: Репутация считается за последнюю неделю. Если один день был плохим (например, узел был выключен), это не конец, но постарайся, чтобы остальные 6 дней были на высоте.
5. **Настрой правильно оборудование**: Убедись, что у тебя хватает места на диске (100-500 ГБ) и оперативной памяти (например, 8 ГБ), чтобы узел не тормозил и не выключался из-за перегрузки.
### Пример
Допустим, твой узел работал так:
- День 1: 24 часа (100%)
- День 2: 22 часа (92%)
- День 3: 20 часов (83%)
- День 4: 12 часов (50%, не считается)
- День 5-7: 24 часа (100%)
Из 7 дней 6 были с хорошим покрытием (больше 18 часов), и среднее время работы высокое. Твой скор репутации будет близок к 0.9 или выше (90%+), что считается отличным результатом.
### Итог
Просто держи узел включенным как можно дольше, следи за стабильностью интернета и оборудования. Чем больше дней с почти полной активностью, тем выше твой скор репутации!
Пример расчёта и заметки по этому поводу можно найти в DOCS
Получение роли в Discord
После успешного запуска ноды, мы можем получить роль DevNetPOP
Идем в Discord, ищем ветку role-request и отправляем туда сообщение в формате
NODE ID + скриншот
Получить NODE ID можно запросом
./pop --status
Полезные команды
Выйти из сессии screen — комбинация клавиш Ctrl+A+D
screen -r pipe_node
Вывести запущенные сессии screen
screen -ls
kill ID_screen
Гайд от канала lvch_clan