Деплой контракта в mainnet: чеклист перед публикацией
Пройдёшь чеклист перед mainnet-деплоем: тесты, testnet, права, газ, апгрейд и мониторинг.
Перед mainnet
Mainnet-деплой необратим для кода без заранее заложенного механизма апгрейда. Чеклист ниже — минимальный набор проверок, прежде чем слать state-init в прод.
Чеклист и скрипт деплоя
Обязательно до blueprint run на mainnet
- Sandbox — unit-тесты на все receivers, bounce-ветки, права
owner. - Testnet — тот же код и те же init-параметры (кроме секретов), прогнаны боевые сценарии с кошелька.
- Фиксация версий —
@tact-lang/compiler,@ton/blueprint,@ton/coreв lockfile; сборка воспроизводима на CI. - Права — кто
owner/ admin в init-данных? Не оставляй дефолтный адрес из туториала. - Upgrade path — если код когда-либо меняется:
set_code/ proxy уже в первой версии (см. статьи про апгрейд и Proxy). - Экономика — storage fee, min balance, gas на худший путь; value в деплое с запасом.
- Секреты — мнемоника только в локальном env / hardware wallet; не в git.
- Наблюдаемость — адрес, code hash, ссылка на эксплорер, алерт на баланс контракта.
Как это работает
provider.network() !== "mainnet"— дешёвый предохранитель от деплоя не в ту сеть.- Фиксированный
idдаёт стабильный адрес; случайныйidиз туториала в проде обычно вреден. toNano("0.1")— примерный запас на деплой простого контракта; сложные init-данные могут требовать больше.- Аудит имеет смысл для нетривиальной логики (деньги, jetton, апгрейд) — чеклист его не заменяет.
Частые ошибки
«На testnet работало» с другим owner / другими константами → в mainnet уезжает другая конфигурация; сравни init-данные побайтно.
Деплой с ноутбука без бэкапа seed → потеря контроля над admin-функциями равносильна потере контракта.
Нет плана на bounce и пустой баланс → контракт «живой», но не может отвечать; заложи min storage + мониторинг.
Что дальше
- Апгрейд кода контракта (set_code) — если закладываешь смену кода
- Паттерн Proxy/Upgradable на TON — когда нужен отдельный proxy
- Оценка газа перед деплоем — подобрать value и лимиты
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация