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

105 lines
4.7 KiB
Markdown
Raw Normal View History

2026-05-04 04:49:09 +03:00
# Тестовая сеть Монтаны
**Версия:** черновик 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.
- [Код](../../Монтана-Протокол/Код/) — реализация.