Призначення чек-листа

Чек-лист призначений для розробників, які готують Solana-програму до розгортання на mainnet-beta. Він фіксує послідовність дій від фінальної збірки на devnet до першого моніторингу після розгортання. Чек-лист не замінює code review чи налагодження — він працює після цих етапів і зосереджений виключно на коректному, безпечному та відтворюваному розгортанні.

Етапи розгортання

Збірка та перевірка на devnet

  • Програма збирається без попереджень компілятора (cargo build-sbf або anchor build).
  • Усі залежності зафіксовані в Cargo.lock або еквівалентному файлі.
  • Бінарний файл розміром не перевищує ліміт mainnet (зараз — 200 КБ, але перевірте актуальне значення в документації).
  • Успішний розгортання на devnet з тим самим бінарним файлом, який планується на mainnet.
  • Ключові сценарії (happy path та критичні edge cases) пройдені на devnet з реальними транзакціями.
  • Логування програми на devnet не містить залишкових msg! з відладковими даними, які можуть витекти в mainnet.

Підготовка ключів та конфігурації

  • Ключова пара для розгортання згенерована окремо і не використовувалася на devnet.
  • Файл ключа (.json) зберігається виключно локально або в сховищі з обмеженим доступом; не потрапляв у git, логи чи месенджери.
  • На акаунті розгортання достатньо SOL для розгортання (розрахуйте: оренда простору + комісія транзакції + запас).
  • Змінні середовища (ANCHOR_PROVIDER_URL, SOLANA_RPC_URL) вказують на mainnet-beta endpoint, а не на devnet.
  • Конфігураційні константи програми (ліміти, адреси, комісії) відповідають mainnet-значенням, а не тестовим.
  • ID програми (program_id) у Anchor.toml або Cargo.toml збігається з акаунтом, на який відбувається розгортання.

Розгортання програми на mainnet

  • RPC-провайдер підтримує метод sendTransaction з необхідним рівнем commit (confirmed або finalized).
  • розгортання виконується з фіналізацією: solana program deploy --url mainnet-beta --with-compute-unit-price ... або через Anchor з відповідним налаштуванням.
  • Транзакція розгортання отримала підтвердження з очікуваним статусом.
  • Адреса програми на mainnet збігається з очікуваною (перевірте хеш бінарного файлу: solana program show <ADDRESS>).
  • Якщо програма оновлюється — попередня версія збережена, а оновлення не ламає існуючі акаунти (зверніть увагу на зміну структури даних).

Верифікація та моніторинг після розгортання

  • Програма верифікована на Solana Explorer: вихідний код або хеш бінарного файлу збігається з розгорнутим.
  • Щонайменше одна тестова транзакція на mainnet успішно викликана через програму (використовуйте мінімальну суму SOL).
  • Логи виклику перевірені через solana logs або Explorer — немає несподіваних помилок runtime.
  • Стан програми перевірено: solana program show <ADDRESS> — дані коректні, дата останнього оновлення збігається.
  • Налаштовано базовий моніторинг: сповіщення про невдалі транзакції через RPC-провайдера або зовнішній сервіс.
  • Зафіксовано хеш транзакції розгортання, адресу програми та хеш бінарного файлу для аудиту.

Критерії готовності до релізу

Програма вважається готовою до mainnet-релізу лише за одночасного виконання всіх умов нижче:

  • Усі пункти чек-листа позначені як виконані.
  • Code review пройдений (див. окремий чек-лист code review).
  • Критичні баги, виявлені під час налагодження, усунуті (див. чек-лист debugging Solana-програми).
  • Є задокументований план відкату: що робити, якщо після розгортання виявиться критична вада (повернення до попередньої версії програми, призупинення фронтенду, комунікація з користувачами).
  • Відповідальний за реліз підтвердив готовність письмово або у відповідному каналі команди.

Обмеження чек-листа

  • Чек-лист не охоплює безпеку ключів інфраструктури (HSM, multisig-схеми, налаштування CI/CD) — ці аспекти потребують окремого процесу.
  • Він не замінює аудит смарт-контрактів сторонньою організацією, якщо це вимога вашого проєкту.
  • Чек-лист не містить кроків із міграції даних між версіями програми — це залежить від архітектури конкретного проєкту і потребує індивідуального плану.
  • Він не враховує специфіку програм із крос-програмними викликами (CPI) до сторонніх програм — для таких випадків додатково перевірте стабільність зовнішніх залежностей на mainnet.
  • Ліміти розміру бінарного файлу та комісій змінюються з оновленнями мережі — перевіряйте актуальні значення безпосередньо перед деплоєм.

Версія ресурсу

Ресурс «Чек-лист deployment на mainnet»: статична версія 1.0. Сторінка містить готовий текстовий чек-лист і готова до практичного використання без очікування окремого інтерактивного інструмента. Остання редакційна перевірка: 2 серпня 2026 року.

Джерела