Highload-кошелёк: массовые рассылки транзакций
Поймёшь зачем Highload wallet вместо v4/v5 при массовых переводах: лимит seqno, query_id и каркас StateInit для highload v2.
Зачем Highload, если есть Wallet v4
Обычный кошелёк (v3/v4/v5) принимает external с одним seqno: следующую пачку нельзя отправить, пока сеть не подтвердит предыдущую. Для бирж, эйрдропов и сервисов с тысячами исходящих сообщений это узкое горлышко.
Highload wallet (классика — highload v2) допускает много внешних сообщений с разными query_id в окне времени и чистит старые id из словаря — параллельная отправка без ожидания одного seqno.
Адрес highload v2 из StateInit
Для продакшена бери проверенный code BoC и библиотеку/обёртку под highload (не копируй заглушку te6cck...). Тело batch-сообщения: словарь исходящих internal + уникальный query_id + подпись.
| Кошелёк | Replay protection | Типичный use-case |
|---|---|---|
| v4 / v5 | seqno (строго по порядку) | пользователь, dApp |
| highload v2 | query_id + окно очистки | массовые выплаты |
Как это работает
- Каждая внешняя операция помечается
query_id; повтор того же id отклоняется. - Контракт хранит словарь недавних id и периодически чистит устаревшие (
last_cleaned). - Можно слать несколько external «параллельно», не дожидаясь инкремента одного счётчика.
- Адрес, как у любого контракта, = хеш
StateInit(code + data с pubkey и subwallet).
Частые ошибки
Гонишь эйрдроп с Wallet v4 в цикле без ожидания seqno → часть сообщений отвалится с wrong seqno; используй highload или очередь с подтверждением seqno.
Переиспользуешь query_id → вторая отправка молча/явно отвергается; генерируй уникальные id (время + счётчик).
Путаешь highload с multisig → highload про throughput одного ключа; multisig про порог подписей. Это разные контракты.
Что дальше
- Инициализация кошелька (StateInit) — общий механизм деплоя по хешу StateInit
- Кошельки TON: версии контрактов v3/v4/v5 — когда highload не нужен
- Комиссии кошелька: forward fee, storage fee — стоимость пачки исходящих сообщений
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация