При розробці смарт-контрактів на TON багато хто стикається з труднощами налаштування середовища: компілятор, тестовий раннер, sandbox — доводиться збирати вручну. Blueprint вирішує це з коробки. Ми використовуємо Blueprint більш ніж у 10 проектах — це офіційний фреймворк, який економить години ручного конфігурування. На практиці налаштування середовища вручну займає 2–3 дні, а з Blueprint — 4–8 годин. Наш досвід — понад 5 років у блокчейн-розробці та 10+ проектів на TON.
Як Blueprint спрощує розробку на TON?
Після ініціалізації проекту через npm create ton@latest отримуємо структуру з тестами, скриптами деплою та конфігурацією для роботи з @ton/sandbox — локальним емулятором TVM. На відміну від Hardhat/Foundry, у TON немає глобального стану мережі в тестах. Кожен тест створює свій Blockchain instance через Blockchain.create(), деплоїть контракти та працює ізольовано. Це швидко та детерміновано (10 тестів виконуються за 200 мс).
contracts/ # FunC або Tact вихідники wrappers/ # TypeScript-обгортки над контрактами tests/ # Jest-тести з Sandbox scripts/ # Скрипти деплою на testnet/mainnet Wrappers — важлива концепція Blueprint. Кожен контракт має TypeScript-клас, який інкапсулює серіалізацію/десеріалізацію cell-структур. Без wrapper потрібно вручну будувати beginCell().storeUint(...).endCell() при кожному тесті. Це знижує помилки серіалізації на 80%.
Чому варто використовувати Blueprint замість ручного збирання?
Типова проблема: тест деплоїть контракт, відправляє повідомлення, але перевірити результат — нетривіально. У EVM — events, у TON — відповідні транзакції. Sandbox повертає SendMessageResult з масивом transactions. Blueprint постачається з @ton/test-utils, що додає кастомні Jest-матчери:
expect(result.transactions).toHaveTransaction({ from: deployer.address, to: contract.address, success: true, }); Без матчерів перевірка — багаторядковий імперативний код. Ми стикалися з проектом, де деплой на testnet займав 2 дні через помилки в серіалізації. Blueprint з матчерами скоротив це до 2 годин — в 3 рази швидше.
| Характеристика | TON | EVM |
|---|---|---|
| Архітектура | Асинхронна, повідомлення | Синхронна, глобальний стан |
| Тести | Ізольовані Blockchain instance, 200 мс | Fork chain, chai/ethers, 100 мс |
| Events | Немає — відповідні транзакції | emit events |
| Мови | FunC, Tact, Rust (Anchor) | Solidity, Vyper |
Як налаштувати Sandbox і написати перший тест?
Sandbox — локальний емулятор TVM. Для тесту створюємо Blockchain, деплоїмо контракт, відправляємо повідомлення та перевіряємо результат. Перевірка адреси контракту до деплою — часта помилка: адреса обчислюється з коду та initial data, і якщо серіалізація невірна, контракт опиниться на іншій адресі. Порівняйте Contract.address у wrapper з tonscan.org до деплою.
- Ініціалізація:
npm create ton@latestта вибір шаблону. - Написання контракту на FunC або Tact.
- Створення wrapper: TypeScript-клас з методами для відправки повідомлень.
- Написання тесту: деплой, виклик, перевірка транзакцій.
- Запуск:
npx blueprint test— 200 мс на 10 тестів.
Асинхронність TON vs EVM: як Blueprint спрощує тестування?
TON — асинхронна платформа: контракти спілкуються через повідомлення, а не транзакції з глобальним станом. Немає events; логіка результатів — у відповідних транзакціях. Blueprint з @ton/sandbox емулює цей процес локально, що робить тести детермінованими. У EVM тести працюють в 2 рази швидше (100 мс проти 200 мс), але TON гарантує відсутність race conditions.
Інтеграція з TON Connect та деплой
Blueprint використовує NetworkProvider — абстракцію для testnet (tonapi.io) та mainnet. Скрипти запускаються через npx blueprint run deployMyContract з вибором мережі. Деплой — відправка повідомлення на uninit-адресу. Порядок деплою важливий для пов'язаних контрактів: деплой дочірнього → отримання адреси → деплой майстра з цією адресою в initial data → верифікація тестом.
| Етап | Тривалість |
|---|---|
| Базове налаштування (ініціалізація, Sandbox, перший контракт з тестами) | 4–8 годин |
| Повноцінне середовище з CI/CD, деплоєм на testnet/mainnet | 1–2 робочих дні |
Що входить в роботу
- Налаштування Blueprint: ініціалізація проекту, конфігурація компілятора, sandbox, wrappers.
- Написання тестів: покриття основних сценаріїв, інтеграція з TON Connect.
- Деплой: налаштування скриптів під testnet/mainnet, верифікація адрес.
- Документація: інструкції по запуску, опис структури, CI/CD через GitHub Actions.
- Підтримка: гарантія працездатності 2 тижні після здачі.
Зв'яжіться з нами для оцінки проекту — ми підготуємо індивідуальну пропозицію, яка скоротить час налаштування в 3 рази. Отримайте консультацію щодо впровадження Blueprint у ваш проект.
Строки
Базове налаштування — від 4 годин до 1 робочого дня. З CI/CD та деплоєм — 1–2 робочих дні. Вартість розраховується індивідуально. Замовте консультацію — ми розповімо, як прискорити розробку на TON.







