montana/Формальная Документация/11 Тестовая Сеть/Запуск-узла-для-всех.md

10 KiB
Raw Blame History

Как запустить узел Монтаны — для не-программиста

Версия: 1.0 Аудитория: человек который умеет открыть терминал и копировать команды.

Что это даёт

Запустив узел, вы:

  • Становитесь оператором сети Монтана.
  • Участвуете в лотерее каждое окно (≈ 60 секунд).
  • Если ваш узел выигрывает — получаете эмиссию TC за это окно.
  • Помогаете сети существовать (любая дополнительная нода = независимая реплика канона).

Никакой регистрации, KYC, депозита не требуется. Sybil-защита через время — порода узла = ≈ 10 часов работы CPU на регистрацию.

Что вам понадобится

Железо

Минимум:

  • Любой компьютер с x86_64 или ARM CPU 2017 года или новее.
  • 2 ГБ RAM свободно.
  • 50 ГБ диска свободно.
  • Постоянное интернет-соединение (10+ Мбит/с).

Рекомендуется:

  • Современный CPU с SHA-NI (Intel 11+ Gen / AMD Ryzen 5+) или Apple Silicon — окно крутится за 1020 секунд, потом простой.
  • Стационарный компьютер или мини-ПК (а не ноутбук — ноутбук будет постоянно греться).
  • Стационарный IP или хотя бы стабильный за NAT.

Что НЕ нужно

  • ASIC.
  • Стейк (ваших монет на депозите).
  • KYC.
  • Платная подписка.

Установка (10 минут)

Шаг 1. Откройте терминал

  • macOS: Cmd+Space → введите "Terminal" → Enter.
  • Linux: Ctrl+Alt+T.
  • Windows: установите WSL2 (Ubuntu) и откройте Ubuntu из меню Пуск.

Шаг 2. Скачайте бинарь

curl -L https://montana.quest/efir369999/montana/releases/latest/download/montana-node -o montana-node
chmod +x montana-node
sudo mv montana-node /usr/local/bin/

(Если ссылка не работает, она появится после M9 — public testnet milestone. До этого — соберите из исходников: см. Код/).

Шаг 3. Создайте папку для данных

sudo mkdir -p /var/lib/montana
sudo chown $(whoami) /var/lib/montana

Шаг 4. Сгенерируйте свою identity (один раз)

montana-node init --data-dir /var/lib/montana

Команда напечатает 24 слова — это ваша мнемоника. Запишите её на бумаге и храните как ключ от квартиры. Если потеряете — теряете доступ к узлу и всем его TC. Если кто-то узнает — он становится вами в сети.

Шаг 5. Скачайте манифест генезиса

sudo mkdir -p /etc/montana
sudo curl -L https://montana.quest/efir369999/montana/raw/branch/main/Монтана-Протокол/genesis-manifest.json -o /etc/montana/genesis-manifest.json

(До M9 манифест в репо может отсутствовать — попросите автора прислать.)

Шаг 6. Запустите узел

montana-node start \
  --data-dir /var/lib/montana \
  --listen /ip4/0.0.0.0/tcp/8444 \
  --genesis-manifest /etc/montana/genesis-manifest.json

Узел начнёт крутить VDF, синхронизироваться с 3 genesis-узлами, и через ~10 часов станет полноценным candidate-оператором.

Шаг 7 (опционально). Сделайте узел сервисом

Чтобы узел крутился сам после перезагрузки:

Linux (systemd):

sudo tee /etc/systemd/system/montana-node.service > /dev/null <<'UNIT'
[Unit]
Description=Montana Node
After=network.target

[Service]
ExecStart=/usr/local/bin/montana-node start --data-dir /var/lib/montana --listen /ip4/0.0.0.0/tcp/8444 --genesis-manifest /etc/montana/genesis-manifest.json
Restart=on-failure
User=montana
Group=montana

[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload
sudo systemctl enable --now montana-node

macOS (launchd): см. Код/macOS/ для готового plist'а org.montana.node.plist.

Проверка работы

Статус узла

montana-node status --data-dir /var/lib/montana

Вы увидите:

  • current_window — текущее окно. Должно расти.
  • phaseBootstrappingCandidateVdfActive. Active = вы полноправный оператор.
  • D (current) — текущая сложность VDF.
  • узел в Node Table : ДА — вы зарегистрированы.
  • chain_length — длина вашей NodeChain.

Сетевая связь

journalctl -u montana-node -n 20 --no-pager   # Linux
log show --predicate 'process == "montana-node"' --last 1m  # macOS

Должны видеть строки:

  • [network] heartbeat OK peer=12D3KooW… — связь с другими узлами есть.
  • [consensus] broadcast Proposal window=… — вы участвуете в консенсусе.

Часто задаваемые вопросы

Сколько времени до получения первой TC?

После того как ваша фаза стала Active (~10 часов после старта), вы участвуете в лотерее каждое окно. Шанс победы ≈ 1 / N где N = число активных узлов. На 3 узлах — ≈ 33% за окно. На 100 узлах — 1%.

Сколько электричества потребляет узел?

Один CPU-ядро под нагрузкой = 515 Вт = 0.120.36 кВт·ч в сутки. В РФ ≈ 13 ₽/сутки. В EU ≈ 0.10.3 €/сутки.

Можно ли запустить на ноутбуке?

Технически — да. Практически — нет: ноутбук будет постоянно греться, вентилятор шуметь, батарея сядет за 12 часа без зарядки. Лучше мини-ПК или Raspberry Pi 5 (с SHA-NI) или старый стационарный.

Что если интернет пропадёт?

Узел переходит в локальный режим, продолжает крутить VDF. Когда интернет вернётся — узел синхронизируется с актуальным каноном. Если за время offline сеть сильно ушла вперёд — может быть момент когда ваш fork отбрасывается. Это нормально.

Можно ли участвовать без публичного IP?

Да. Узел может быть за NAT, но ему нужно установить outbound-соединения с другими узлами. Поведение worse чем со статическим IP, но работает.

Что если я хочу остановить узел?

sudo systemctl stop montana-node    # Linux
sudo launchctl unload …             # macOS

Ваши ключи (/var/lib/montana/identity.bin) сохранятся. Если потом снова запустите — продолжите с того же узла.

Как удалить узел и все данные?

sudo rm -rf /var/lib/montana
sudo rm -f /etc/montana/genesis-manifest.json
sudo systemctl disable --now montana-node
sudo rm /etc/systemd/system/montana-node.service

Внимание: это удалит и ваши ключи. Если у вас был баланс TC — он останется в сети, но вы не сможете подписать операции его расходования без мнемоники.

Безопасность

  1. Бэкап мнемоники. Запишите 24 слова на бумаге. Храните в сейфе. Никогда не вводите в онлайн-сервисах. Никогда не фотографируйте. Никогда не отправляйте через мессенджер/почту.
  2. Полный доступ к узлу. Кто имеет SSH к вашему узлу — имеет ваши ключи в /var/lib/montana/identity.bin. Защитите SSH ключом, не паролем.
  3. Файрвол. Открывайте только порт 8444 для p2p. Закройте всё остальное.
  4. Регулярные обновления. Когда выходит новый релиз montana-node — обновляйтесь.

Поддержка

Тестовая сеть vs «настоящая»

Сеть montana — это уже production-grade имя, не testnet. Однако network в pre-launch фазе (см. Mainnet Readiness) — это значит TC которые вы заработаете сейчас являются частью каноничной истории, но также подпадают под breaking changes если они потребуются до launched-mainnet объявления.

Если вам важна абсолютная финальность TC — дождитесь G1-G6 закрытия. Если вам интересно участвовать в M9-M10 как ранний оператор — запускайте сейчас.