CLI-бот для автоматического сбора баллов в Ping Network (DePIN)
Поддерживает «живой» WebSocket-клиент, автоматические пинги и опциональную аналитику в Google Analytics.
-
Клонировать
git clone https://github.com/k2wGG/pingnetwork.git cd pingnetwork -
Установить зависимости
npm install
-
Настроить
.envСоздайте файл.envв корне:USER_ID=ваш_user_id # обязательно # DEVICE_ID= # опционально, сгенерируется автоматически # GA_MEASUREMENT_ID=G-XXXXXXX # опционально, для Google Analytics # GA_API_SECRET=your_api_secret # опционально, для Google Analytics
-
Убедиться, что
package.jsonсодержит -
Запустить
npm start
| Переменная | Описание |
|---|---|
USER_ID |
Ваш уникальный идентификатор в Ping Network (обязательно). |
DEVICE_ID |
Уникальный ID узла. При отсутствии — генерируется автоматически. |
GA_MEASUREMENT_ID |
Measurement ID Google Analytics (опционально). |
GA_API_SECRET |
API Secret Google Analytics (опционально). |
После запуска вы увидите ASCII-баннер и меню:
🔹 1) Запустить бота
🔹 2) Отправить аналитику
🔹 0) Выход
-
Запустить бота
- Устанавливает WebSocket-соединение
- Шлёт «ping» каждые 30 сек
- Отображает обновления баллов (
client_pointsиreferral_points)
-
Отправить аналитику
- Принудительно шлёт событие
connect_clicked - Работает только если настроены
GA_MEASUREMENT_IDиGA_API_SECRET
- Принудительно шлёт событие
-
Выход
- Завершает работу CLI
-
Логирование в файл — сохраняя все сообщения WebSocket
-
Docker:
FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . CMD ["npm", "start"]
-
CI/CD — GitHub Actions для линтинга и тестирования
- Ping Network — децентрализованная DePIN-платформа
- enquirer — для современного CLI
- chalk, ora, figlet — за удобные инструменты визуализации в консоли
MIT © k2wGG
{ "type": "module", "scripts": { "start": "node index.js" } }