TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
TON Pro

25 Jul 2025, 23:15

Открыть в Telegram Поделиться Пожаловаться

📦 Базовые понятия, без которых не написать смарт-контракт в TON

Сохрани пост — пригодится, когда утонешь в доках.

1. Как устроена сеть

• Workchain / Shardchain — уровни горизонтального шардинга; адрес контракта включает ID workchain’а и hash.

• Masterchain — «главная» цепочка: хранит глобальный корневой хеш состояния всех шардов и ключевые сервис-контракты.

• Block → State — после каждого блока пересчитывается глобальное состояние.

2. Модель данных

• Cell — минимальная единица хранения: до 1023 бит данных + ссылки на дочерние ячейки (от 0 до 4 ссылок).

• BOC (Bag of Cells) — сериализованный набор ячеек; формат для хранения/передачи кода, сообщений и состояния.

• Slice / Builder — «читалка» и «писалка» для работы с битами/референсами внутри ячейки.

• TL-B (Type Language – Binary) — декларативный способ описывать структуры, которые автоматически сериализуются в ячейки.

3. Виртуальная машина TVM

• TVM-стек – стековый процессор; почти все инструкции берут/кладут данные в стек.

• TVM-опкоды — 8-битные коды инструкций (аналог ассемблера).

• Gas — топливо на каждую операцию; каждая инструкция имеет цену, превышение лимита = revert.

• Storage Fee — арендная плата за хранение состояния контракта; списывается каждые 256 блоков.

4. Языки и инструменты

• FunC — низкоуровневый C-like язык; почти прямое отображение на TVM.

• Tact — «TypeScript для TON»; высокоуровневый, с генерацией ABI, тестами и кодогенерацией.

• Tolk — «сборщик + дизассемблер» уровня TVM: удобно смотреть сырой байткод, писать инлайн-ассемблер. Недавно получил статус "рекомендованный" вместо FunC и Tact.

• Fift — стековый скриптовый язык и CLI (сборка, деплой, утилиты).

• TonCLI / Tact CLI / Blueprint — наборы инструментов для компиляции, тестов и деплоя.

5. Деплой и адреса

• StateInit — ячейка с кодом и начальным хранилищем; хеш StateInit = часть адреса контракта.

• Bounceable / Non-bounceable — адрес с/без автоматического возврата TON при ошибке.

• seqno — каждое внешнее сообщение увеличивает счётчик seqno, защищая от реплея.

6. Сообщения и взаимодействие

• External vs Internal — внешние приходят от кошелька, внутренние идут контракт↔контракт.

• op-код сообщения - первые 32 бита тела сообщения, определяющие «команду» (transfer, burn, mint и т.д.).

• forward_payload / callback — данные, которые пересылаются дальше (префиксуй для безопасности!).

• Bounce flag — вернуть сообщение и TON отправителю, если контракта нет или он упал.

7. Стандарты (TEP)

• TEP-74 — Jetton (Fungible Token) — базовый стандарт токенов; включает Transfer, Burn, Mint, JettonWallet.

• TEP-62 (NFT) - стандарт невзаимозаменяемых токенов; коллекция, item и т. д.

• Wallet v3/v4 — эталонные кошельки; хороший пример «правильного» кода подписей и seqno.

• DEX-пулы, DAO-голосовалки — практические шаблоны: мульти-хоп, опкод-роутинг, safe-math.

8. Безопасность

• Replay-Protection — проверяем msg.pubkey + seqno или query_id.

• Opcode-whitelist — обрабатываем только известные op, остальное — игнор.

• Re-entrancy через forward_payload — классический баг (см. пост TheOpenDevBlog).

• Formal Verifier / TVM-profile — статический анализ газ-стоимости и ошибок.


🏷 Как прокачаться быстро

🏷 Пройдите «official TON course» (FunC+Fift) — поймёте Cell/TL-B/TVM.

🏷 Соберите минимальный кошелёк на Tact/Tolk — освоите StateInit, op, seqno.

🏷 Поднимите lite-ноду и гоняйте контракты на тестнете — практический опыт бесценен.

Освоив эти блоки, сможешь читать любую TON-спеку и писать контракты, которые не стыдно аудировать. Удачи!

80 0 8 58
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot