TON Sandbox: локальное тестирование без сети
Поднимешь локальный Blockchain из @ton/sandbox, задеплоишь контракт в тесте и проверишь транзакции без testnet.
Что такое Sandbox
@ton/sandbox — эмулятор TON внутри Node.js: локальный Blockchain, кошельки-казначейства (treasury) и исполнение TVM без RPC. Тесты быстрые, бесплатные и детерминированные.
На момент публикации: @ton/sandbox@0.44.0 (в шаблоне Blueprint ставится вместе с проектом).
Минимальный тест
В Blueprint-проекте с Tact-контрактом (SimpleCounter из tact-counter):
Запуск:
Все сценарии проходят локально — RPC-ключ и faucet не нужны.
Как это работает
Blockchain.create()— изолированная «сеть» в процессе Node.blockchain.treasury(name)— тестовый кошелёк с балансом; одно и то же имя → один и тот же адрес между прогонами.openContract— связывает TS-wrapper с эмулятором.toHaveTransactionиз@ton/test-utils— матчер по полям транзакции (success,deploy, адреса).
Частые ошибки
Забываешь await на getCounter() / send → флакующие или ложные падения. Все вызовы к sandbox асинхронные.
Деплоишь без value → не хватает газа, success: false. Для деплоя обычно toNano("0.05") и больше.
Ждёшь, что sandbox = testnet → состояние эмулятора не видно в Tonviewer. Для проверки в сети — testnet и faucet.
Что дальше
- Testnet и faucet — когда пора выйти из эмулятора в публичную сеть
- Первый смарт-контракт: Counter на Tact — полный контракт под эти тесты
- Blueprint: создание нового проекта — готовый
tests/из шаблона
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация