Перейти к содержанию

Гид валидатора

Настройка ноды валидатора

1. Установка

git clone https://github.com/computechain/computechain
cd computechain
pip install -r requirements.txt

2. Инициализация ноды

./run_node.py --datadir .validator init

3. Настройка (опционально)

Отредактируйте .validator/config.json:

{
  "listen_addr": "0.0.0.0",
  "listen_port": 8000,
  "p2p_port": 26656,
  "seeds": ["seed1.computechain.space:26656"]
}

4. Запуск ноды

./run_node.py --datadir .validator start

Дашборд: http://localhost:8000

Стать валидатором

1. Создать ключ

./cpc-cli keys add validator

2. Пополнить счет

Получите тестовые токены из faucet или переведите с другого аккаунта.

3. Застейкать

# Минимум: 1,000 CPC (devnet) / 100,000 CPC (mainnet)
./cpc-cli tx stake 1000 --from validator

4. Дождаться активации

Валидаторы активируются через 100 блоков (~16 минут).

# Проверить статус
./cpc-cli query validators

Жизненный цикл валидатора

Состояния

  1. INACTIVE - Только застейкал, ожидает активации
  2. ACTIVE - Производит блоки, получает награды
  3. JAILED - Плохая производительность, временно отключен
  4. EJECTED - Слэшнут на 100%, навсегда удален

Активация

Триггер: Переход эпохи (каждые 100 блоков)

Требования: - Минимальный стейк (1,000 CPC devnet / 100,000 CPC mainnet) - Минимальная мощность относительно других - Не в состоянии jailed - Не может превышать 20% от общей voting power

Отслеживание производительности

Оценка Uptime: blocks_signed / total_expected_blocks

Мониторинг:

curl http://localhost:8000/validators | jq '.validators[] | {address, uptime_score}'

Минимум: Требуется 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 процентных пунктов за изменение - Делегаторы могут отозвать делегирование во время периода объявления

Просмотреть метаданные

curl http://localhost:8000/validators | jq '.validators[0]'

Мониторинг

Дашборд

Встроенный веб-дашборд: http://localhost:8000

Показывает: - Текущую высоту, эпоху - Список валидаторов с оценками uptime - Последние блоки

Логи

tail -f .validator/node.log

Метрики

# Статус валидатора
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"

Следующие шаги