Призначення чек-листа
Чек-лист призначений для розробників, які готують 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 року.