Як запустити Zebra в Akash Network
Покрокова інструкція з розгортання повного вузла Zebra для Zcash за допомогою Akash Console.
Що ви розгортаєте
Повний вузол Zebra, який буде:
-> Синхронізувати весь блокчейн Zcash (100GB+ для mainnet, ~40GB для testnet)
-> Коштувати приблизно $15/місяць залежно від цін токена AKT
-> Потребувати від кількох годин до кількох днів для повної синхронізації
-> Використовувати 4 vCPU, 16GB RAM, 350GB сховища (mainnet) або 2 vCPU, 8GB RAM, 50GB (testnet)
Важливо: Мапування портів в Akash
Коли ви відкриваєте порт в Akash (наприклад, порт 8233 для P2P Zebra), він НЕ прив’язується до цього точного порту на публічній IP-адресі провайдера. Натомість провайдер призначає випадковий високий порт (наприклад, 31234 або 42567) і налаштовує зворотне проксі на порт 8233 вашого контейнера.
Це зроблено навмисно — провайдери запускають багато розгортань, і виникли б конфлікти, якби всі намагалися використовувати порт 8233 напряму.
Що це означає для вас:
-> Ви налаштовуєте порт 8233 у SDL (стандартний P2P-порт Zebra)
-> Akash надає вам URI на кшталт provider.com:31234
-> Інші вузли Zcash підключаються до вас за адресою provider.com:31234
-> Усередині вашого контейнера Zebra, як і раніше, слухає порт 8233
Це обробляється автоматично. Просто використовуйте URI, який надає Akash.
Передумови
- Встановлене розширення браузера Keplr Wallet (Chrome/Brave/Firefox)
- Токени AKT — отримайте 50–100 AKT на біржі (Coinbase, Kraken, Osmosis)
- 5 хвилин, щоб пройти інтерфейс Console
Крок 1: Підключіть свій гаманець
-> Перейдіть на https://console.akash.network
-> Натисніть "Connect Wallet" у верхньому правому куті
-> Виберіть Keplr (або ваш бажаний Cosmos-гаманець)
-> Підтвердьте підключення, коли з’явиться вікно Keplr
Ваш баланс AKT має з’явитися у верхньому правому куті. Якщо він нульовий, спочатку поповніть гаманець.
Крок 2: Створіть розгортання
-> Натисніть кнопку "Deploy" (велика синя кнопка по центру сторінки)
-> Виберіть "Build your template" (або одразу перейдіть до завантаження SDL)
Варіант A: Завантажити файл SDL (рекомендовано)

Варіант B: Використати редактор SDL
Якщо ви хочете вручну вставити SDL:
-> Скопіюйте вміст zebra-akash.yml
-> Вставте в редактор SDL
-> Змініть за потреби (див. розділ конфігурації нижче)
-> Натисніть "Create Deployment"
Крок 3: Перегляньте та підтвердьте депозит
Console покаже вам:
-> Депозит розгортання: ~5 AKT (ви отримаєте його назад, коли закриєте розгортання)
-> Орієнтовна вартість: залежить від ціни у вашому SDL
Натисніть "Approve" і підпишіть транзакцію в Keplr.
Крок 4: Виберіть провайдера
Приблизно через 30 секунд ви побачите ставки від провайдерів. Кожна ставка показує:
-> Ціну за блок (в AKT або USDC)
-> Орієнтовну місячну вартість
-> Дані провайдера (аптайм, регіон тощо)
Не обирайте просто найдешевший варіант. Перевірте:
-> Відсоток аптайму (орієнтуйтеся на > 95%)
-> Регіон (чим ближче до вас, тим краща затримка, але для блокчейн-вузлів це не так важливо)
-> Статус аудиту (зелена позначка = вищий рівень довіри)
Натисніть "Accept Bid" у вибраного провайдера та підпишіть у Keplr.
Крок 5: Дочекайтеся розгортання
Console:
-> Створить lease з вибраним провайдером
-> Надішле manifest (вказує провайдеру, що запускати)
-> Запустить ваш контейнер
Це займає 1–2 хвилини. Ви побачите оновлення статусу в інтерфейсі.
Крок 6: Переконайтеся, що все працює
Після розгортання ви побачите:
-> Вкладка Services: показує ваш сервіс zebra зі статусом
-> Вкладка Logs: журнали контейнера в реальному часі
-> Вкладка Leases: деталі вашого розгортання (DSEQ, провайдер, вартість)
Перевірте журнали
Натисніть Logs, і ви маєте побачити запуск Zebra:
Code-highlight
Loading config from environment variables
Mainnet network selected
Listening for peer connections on [::]:8233
Starting initial sync...
Синхронізація займе від годин до днів залежно від мережі. Слідкуйте за таким:
-> Зростання висоти блоків
-> Підключення вузлів (має бути 10–30 пірів)
-> Відсутність повторюваних помилок
Крок 7: Отримайте адресу свого вузла
Натисніть вкладку Leases, потім URIs.
Ви побачите щось на кшталт:
Code-highlight
zebra-8233: provider-hostname.com:31234
Це публічна P2P-адреса вашого вузла. Інші вузли Zcash підключатимуться до вас за цією адресою.
Зверніть увагу на мапування портів: ви налаштували порт 8233 у SDL, але Akash призначив йому інший публічний порт (31234 у цьому прикладі). Це нормально — див. розділ "Мапування портів в Akash" угорі, якщо це вас бентежить. Ваш вузол доступний на тому порту, який Akash показує тут, і це не обов’язково 8233.
Якщо ви увімкнули RPC (за замовчуванням у SDL він закоментований), ви також побачите тут RPC endpoint із власним призначеним портом.
Параметри конфігурації
Перемикання на Testnet
За замовчуванням SDL використовує Mainnet. Щоб використовувати Testnet:
-> Закоментуйте конфігурацію Mainnet у секції env:
Code-highlight
# - "ZEBRA_NETWORK__NETWORK=Mainnet"
# - "ZEBRA_NETWORK__LISTEN_ADDR=[::]:8233"
-> Розкоментуйте конфігурацію Testnet:
Code-highlight
- "ZEBRA_NETWORK__NETWORK=Testnet"
- "ZEBRA_NETWORK__LISTEN_ADDR=[::]:18233"
-> Оновіть відкритий порт у секції expose:
Code-highlight
# Comment out Mainnet port:
# - port: 8233
# as: 8233
# to:
# - global: true
# proto: tcp
# Uncomment Testnet port:
- port: 18233
as: 18233
to:
- global: true
proto: tcp
-> Необов’язково: зменште ресурси для Testnet у profiles.compute.zebra.resources:
Code-highlight
cpu:
units: 2 # Down from 4
memory:
size: 8Gi # Down from 16Gi
storage:
- size: 50Gi # Down from 150Gi
-> Необов’язково: зменште ціну в profiles.placement.akash.pricing:
Code-highlight
amount: 5000 # Down from 10000
Увімкнення доступу RPC
RPC за замовчуванням вимкнено з міркувань безпеки. Щоб увімкнути його:
Для Mainnet:
-> Розкоментуйте в секції env:
Code-highlight
- "ZEBRA_RPC__LISTEN_ADDR=0.0.0.0:8232"
- "ZEBRA_RPC__COOKIE_DIR=/home/zebra/.cache/zebra"
-> Розкоментуйте RPC-порт Mainnet у expose:
Code-highlight
- port: 8232
as: 8232
to:
- global: false # Keep internal for security
proto: tcp
Для Testnet:
-> Розкоментуйте в секції env:
Code-highlight
- "ZEBRA_RPC__LISTEN_ADDR=0.0.0.0:18232"
- "ZEBRA_RPC__COOKIE_DIR=/home/zebra/.cache/zebra"
-> Розкоментуйте RPC-порт Testnet у expose:
Code-highlight
- port: 18232
as: 18232
to:
- global: false
proto: tcp
Попередження: якщо ви встановите global: true для RPC, ви відкриєте його для всього інтернету. Zebra за замовчуванням використовує cookie auth, але все ж — не робіть цього, якщо не знаєте, що робите.
Нагадування про мапування портів: навіть якщо ви відкриєте RPC глобально, Akash прив’яже його до випадкового високого порту (а не 8232/18232). Перевірте URIs у вашому розгортанні, щоб побачити фактичний публічний endpoint. Для global: false (рекомендовано) RPC endpoint доступний лише всередині мережі розгортання Akash, а не з публічного інтернету.
Увімкнення Metrics (Prometheus)
Щоб збирати metrics для моніторингу:
-> Розкоментуйте в env:
Code-highlight
- "ZEBRA_METRICS__ENDPOINT_ADDR=0.0.0.0:9999"
-> Розкоментуйте порт metrics у expose:
Code-highlight
- port: 9999
as: 9999
to:
- global: false
proto: tcp
Налаштування ресурсів/ціни
Якщо ви не отримуєте ставок або хочете оптимізувати витрати:
Для провайдерів із нижчими характеристиками зменште в секції profiles.compute.zebra.resources:
-> CPU: units: 2 (мінімум для прийнятної швидкості синхронізації)
-> Memory: size: 12Gi (мінімум для стабільності)
-> Storage: size: 120Gi (мінімум для mainnet)
Щоб залучити більше ставок, збільште в profiles.placement.akash.pricing:
-> Mainnet: спробуйте amount: 1000000 uakt/block
-> Testnet: спробуйте amount: 1000000 uakt/block
Оновлення вашого розгортання
Потрібно змінити конфігурацію після розгортання?
-> Перейдіть до My Deployments у Console
-> Знайдіть своє розгортання Zebra
-> Натисніть "Update Deployment"
-> Відредагуйте SDL
-> Натисніть "Update" і підтвердьте в Keplr
Примітка: оновлення перезапустить ваш контейнер. Вузол продовжить роботу зі збереженого стану (постійне сховище), але очікуйте 1–2 хвилини простою.
Моніторинг
Через Console
-> Вкладка Logs: журнали контейнера в реальному часі
-> Вкладка Shell: отримайте shell усередині контейнера (корисно для налагодження)
-> Вкладка Events: події Kubernetes (здебільшого марні, якщо тільки щось не зламалося)
Через RPC (якщо ввімкнено)
Якщо ви ввімкнули RPC, ви можете опитувати свій вузол як звичайний повний вузол zebrad (тому що це він і є!)
Закриття вашого розгортання
Коли завершите роботу або захочете припинити оплату:
-> Перейдіть до My Deployments
-> Знайдіть своє розгортання Zebra
-> Натисніть "Close Deployment"
-> Підтвердьте й підпишіть у Keplr
Ваш депозит 5 AKT буде повернено. Persistent storage має бути збережене провайдером, але не покладайтеся на це — ставтеся до цього як до будь-якого іншого хмарного провайдера.
Усунення несправностей
Помилка "Insufficient funds"
Вам потрібно більше AKT. Поповніть свій гаманець Keplr.
Не з’являються ставки
Або:
-> Ваша ціна занизька (збільшіть amount у SDL)
-> Ваші вимоги до ресурсів зависокі для доступних провайдерів (зменште CPU/memory/storage)
-> Зачекайте довше (іноді потрібно 60–90 секунд, щоб ставки з’явилися)
Розгортання зависло в статусі "pending"
У провайдера можуть бути проблеми. Закрийте розгортання й спробуйте іншого провайдера.
У журналах Zebra видно "No peers connected"
Це нормально протягом перших кількох хвилин. Zebra автоматично знайде піри. Якщо це триває понад 10 хвилин, можливо, у вас проблема з мережею (на Akash це малоймовірно).
У журналах помилки "Out of memory"
Ви занадто зекономили на RAM. Закрийте розгортання та розгорніть знову щонайменше з 12Gi memory (рекомендовано 16Gi).
Синхронізація триває вічність
Уточнімо, що таке "вічність":
-> Години: нормально
-> Дні: теж нормально для mainnet з нуля
-> Тижні: щось не так, перевірте журнали на помилки
Керування витратами
Відстежуйте свої витрати в Console:
-> My Deployments -> Ваше розгортання -> показує оцінку "Cost per month"
-> Баланс вашого гаманця Keplr з часом зменшуватиметься
Коли ваш баланс стане низьким, Akash автоматично закриє ваше розгортання. Періодично поповнюйте свій гаманець або налаштуйте сповіщення.
Зниження витрат
-> Використовуйте Testnet для непродукційного тестування (на 50% дешевше)
-> Зменште CPU/memory, якщо вам не потрібна швидка синхронізація
-> Обирайте дешевших провайдерів (не завжди мудро — аптайм має значення)
Mainnet vs Testnet
Code-highlight
----------------------------------------------------------------------------------
| | Mainnet (default) | Testnet |
---------------------------------------------------------------------------------|
| Purpose | Production Zcash blockchain | Testing and development |
| Network | ZEBRA_NETWORK__NETWORK=Mainnet | ZEBRA_NETWORK__NETWORK=Testnet |
| P2P Port | 8233 | 18233 |
| RPC Port | 8232 | 18232 |
| Sync time | Days | Hours |
| Storage | 350GB+ | 50GB |
| Resources | 4 CPU / 16GB RAM | 2 CPU / 8GB RAM |
| Cost | ~$15/month | ~$5/month |
----------------------------------------------------------------------------------
Почніть із Testnet, якщо ви лише тестуєте процес розгортання. Див. розділ "Перемикання на Testnet" вище для налаштування.
Додаткові ресурси
Akash Console: https://console.akash.network
Akash Docs: https://akash.network/docs/
Zebra Docs: https://zebra.zfnd.org/
Оглядачі Zcash: https://zechub.wiki/guides/blockchain-explorers
Akash Discord: https://discord.akash.network (для проблем із провайдерами)