105 lines
4.7 KiB
Markdown
105 lines
4.7 KiB
Markdown
# Тестовая сеть Монтаны
|
||
|
||
**Версия:** черновик 1.0
|
||
**Базовый источник:** [Код M5–M8](../../Монтана-Протокол/Код/), [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.
|
||
- [Код](../../Монтана-Протокол/Код/) — реализация.
|