Гид валидатора¶
Настройка ноды валидатора¶
1. Установка¶
git clone https://github.com/computechain/computechain
cd computechain
pip install -r requirements.txt
2. Инициализация ноды¶
3. Настройка (опционально)¶
Отредактируйте .validator/config.json:
{
"listen_addr": "0.0.0.0",
"listen_port": 8000,
"p2p_port": 26656,
"seeds": ["seed1.computechain.space:26656"]
}
4. Запуск ноды¶
Дашборд: http://localhost:8000
Стать валидатором¶
1. Создать ключ¶
2. Пополнить счет¶
Получите тестовые токены из faucet или переведите с другого аккаунта.
3. Застейкать¶
4. Дождаться активации¶
Валидаторы активируются через 100 блоков (~16 минут).
Жизненный цикл валидатора¶
Состояния¶
- INACTIVE - Только застейкал, ожидает активации
- ACTIVE - Производит блоки, получает награды
- JAILED - Плохая производительность, временно отключен
- EJECTED - Слэшнут на 100%, навсегда удален
Активация¶
Триггер: Переход эпохи (каждые 100 блоков)
Требования: - Минимальный стейк (1,000 CPC devnet / 100,000 CPC mainnet) - Минимальная мощность относительно других - Не в состоянии jailed - Не может превышать 20% от общей voting power
Отслеживание производительности¶
Оценка Uptime: blocks_signed / total_expected_blocks
Мониторинг:
Минимум: Требуется uptime 75%
Jailing и слэшинг¶
Jailing¶
Срабатывает когда: - Uptime < 75% - Пропущено слишком много блоков
Штраф: Валидатор временно отключен
Восстановление:
# Вариант 1: Ждать 1000 блоков
# Автоматически разблокируется при улучшении производительности
# Вариант 2: Заплатить 1000 CPC для немедленной разблокировки
./cpc-cli tx unjail --from validator
Слэшинг¶
Штраф: 5% от общего стейка (self_stake + делегации)
Срабатывает когда: - Валидатор заблокирован за плохую производительность - Двойное подписание или византийское поведение - Повторные нарушения
Что слэшится: - И self_stake валидатора, И стейки делегаторов уменьшаются на 5% - Заслэшенные токены сжигаются (не перераспределяются) - Делегаторы разделяют риск с валидаторами
Комиссия за unjail: 1,000 CPC (сжигается при досрочной разблокировке)
Предотвращение: - Постоянно отслеживайте uptime (поддерживайте >75%) - Настройте алерты на пропущенные блоки - Имейте резервную инфраструктуру - Никогда не запускайте дублирующие ноды валидатора (риск двойного подписания)
Метаданные валидатора¶
Обновить информацию¶
./cpc-cli tx update-validator \
--name "Мой валидатор" \
--website "https://myvalidator.com" \
--description "Профессиональный сервис валидатора" \
--commission 0.10 \
--from validator
Правила комиссии: - Диапазон: 0% - 20% максимум - Время ожидания: 7 дней между изменениями - Период объявления: 4 часа до вступления в силу - Макс. увеличение: +5 процентных пунктов за изменение - Делегаторы могут отозвать делегирование во время периода объявления
Просмотреть метаданные¶
Мониторинг¶
Дашборд¶
Встроенный веб-дашборд: http://localhost:8000
Показывает: - Текущую высоту, эпоху - Список валидаторов с оценками uptime - Последние блоки
Логи¶
Метрики¶
# Статус валидатора
curl http://localhost:8000/validators
# Высота блока
curl http://localhost:8000/status | jq '.height'
# Баланс
curl http://localhost:8000/balance/<АДРЕС_ВАЛИДАТОРА>
Лучшие практики¶
Инфраструктура¶
- ✅ Избыточность - Несколько серверов, failover
- ✅ Мониторинг - Алерты на простои
- ✅ Безопасность - Firewall, защита от DDoS
- ✅ Бэкапы - Регулярные бэкапы ключей
Операции¶
- ✅ Uptime - Поддерживайте >95% uptime
- ✅ Обновления - Держите ПО ноды обновленным
- ✅ Комиссия - Установите справедливую ставку (5-15%)
- ✅ Коммуникация - Объявляйте окна обслуживания
Безопасность¶
- ✅ Управление ключами - Защищайте приватные ключи
- ✅ Контроль доступа - Ограничьте SSH доступ
- ✅ Мониторинг - Алерты на необычную активность
- ✅ Бэкап - Безопасные бэкапы ключей
Устранение неполадок¶
Нода не синхронизируется¶
# Проверить количество пиров
curl http://localhost:8000/status | jq '.peers'
# Добавить seeds в config.json
Валидатор не активен¶
# Проверить эпоху
curl http://localhost:8000/validators | jq '.epoch'
# Ждать следующего перехода эпохи (каждые 100 блоков)
Пропущенные блоки¶
# Проверить статус валидатора
curl http://localhost:8000/validators | jq '.validators[] | select(.address=="cpcvalcons1...")'
# Мониторить логи
tail -f .validator/node.log | grep "Block.*added"
Следующие шаги¶
- Экономика - Полная экономическая модель, токеномика и распределение наград
- Гид по стейкингу - Стейк, делегирование, награды
- Справочник CLI - Полные команды
- Продвинутые темы - Архитектура, PoC