montana/Формальная Документация/11 Тестовая Сеть/Testnet.md

105 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Тестовая сеть Монтаны
**Версия:** черновик 1.0
**Базовый источник:** [Код M5M8](../../Монтана-Протокол/Код/), [project_montana_3node_genesis_deploy.md](../../../../.claude/projects/-Users-kh--Python------/memory/project_montana_3node_genesis_deploy.md)
## 1. Текущее состояние
3-node genesis testnet активен с 2026-05-02:
| Узел | Регион | Хост | Статус |
|------|--------|------|--------|
| **mos** | Москва | `montana-moscow` / 176.124.208.93 | 🟢 Active |
| **fra** | Frankfurt | `montana-frankfurt` / 89.19.208.158 | 🟢 Active |
| **зел** | Helsinki | `montana-finland` / 91.132.142.42 | 🟢 Active |
Транспорт: TCP порт 8444 с TLS-A self-signed + certificate pinning. Crate: `mt-net-tcp`.
## 2. Milestones
### M5 — single-node node
- [x] Локальный узел крутит VDF.
- [x] AccountChain операции в памяти.
- [x] CLI для генерации ключей и подписания.
### M6 — persistence
- [x] Хранилище NodeChain на диске.
- [x] Восстановление после перезапуска.
- [x] Snapshot корня состояния.
### M7 — single-host multi-node
- [x] Несколько узлов на одной машине общаются.
- [x] Локальная синхронизация AccountChain.
### M8 — cross-machine genesis
- [x] 3 узла в 3 разных регионах.
- [x] TLS-A handshake с pinning.
- [x] Cross-region gossip и синхронизация.
### M9 — public testnet (планируется)
- [ ] Открытая регистрация новых узлов.
- [ ] Документация подключения.
- [ ] Блок-эксплорер (см. montana.quest/explorer/).
- [ ] Faucet для test TC.
- [ ] Bug bounty program.
### M10 — pre-mainnet
- [ ] Завершённый внешний аудит ([09](../09%20Внешний%20Аудит/)).
- [ ] Формальная верификация консенсуса ([10](../10%20Формальная%20Верификация/)).
- [ ] Стабильная спецификация (no breaking changes).
- [ ] Все Critical/High audit findings закрыты.
### Mainnet — TBD
Дата запуска mainnet не публикуется до завершения M10.
## 3. Как запустить узел
### 3.1 Требования
- x86_64 CPU (или ARM с эквивалентной производительностью VDF).
- ≥ 2 ГБ RAM.
- ≥ 50 ГБ диска.
- Стабильное интернет-соединение.
- Linux (Ubuntu 22.04+ протестировано), macOS (для devnet).
### 3.2 Запуск
См. [Код/README](../../Монтана-Протокол/Код/) и [macOS](../../macOS/) / [CLI](../../CLI/) для конкретных инструкций.
Высокоуровнево:
1. Скачать релиз / собрать из исходников.
2. Сгенерировать ключи через CLI.
3. Запустить узел с указанием bootstrap-peers (текущие 3 genesis).
4. Дождаться синхронизации (≥ 20 160 окон ≈ 10 часов).
5. Узел автоматически становится участником лотереи.
### 3.3 Стать оператором
Любой узел, который полностью синхронизировался и крутит VDF, является оператором. Никакой регистрации/стейка/KYC не требуется. Это principle: Sybil-защита — время.
## 4. Логи и мониторинг
- launchd на macOS: `org.montana.node` (см. memory `feedback_montana_node_log_baseline.md`).
- systemd на Linux: `montana-node.service`.
- Stdout flush через `\r` для UI; tail -F работает корректно.
## 5. Известные ограничения текущего testnet
- Только 3 узла → не репрезентативная нагрузка.
- Нет открытой регистрации новых узлов (M9).
- Нет faucet → невозможно получить test TC внешнему пользователю.
- Эксплорер базовый, без полной истории.
## 6. Связанные документы
- [05 Сетевой слой](../05%20Сетевой%20Слой/) — спецификация транспорта.
- [12 Управление](../12%20Управление%20и%20Обновления/) — как обновляется testnet.
- [Код](../../Монтана-Протокол/Код/) — реализация.