Инициализация кошелька (StateInit) — деплой при первой транзакции
Поймёшь StateInit: как из code+data считается адрес, почему кошелёк uninit до первого сообщения и как задеплоить Wallet v4 на testnet.
StateInit задаёт адрес до деплоя
StateInit — структура с code и data контракта. Адрес = (workchain, hash(StateInit)). Кошелёк можно вычислить и показать в UI до появления on-chain. Пока в сеть не ушло сообщение с этим StateInit (или эквивалентный деплой), аккаунт часто в статусе uninit / nonexist, даже если на адрес уже кинули TON (non-bounceable).
Первая успешная транзакция с state_init активирует контракт: код и данные записываются в состояние шарда.
Деплой Wallet v4R2 на testnet
Пополнение до деплоя — на non-bounceable адрес (UQ... / test-only аналог). Bounceable перевод на неинициализированный кошелёк может вернуться отправителю.
Как это работает
- Считаешь адрес из
WalletContractV*.create→ это хеш будущего StateInit. - Кладешь testnet TON на non-bounceable адрес (faucet).
- Шлёшь первое подписанное external; в транзакции участвует
state_init. - Статус становится
active; дальше работают обычные переводы по seqno без повторной передачи полного code (он уже в состоянии).
Частые ошибки
Ждёшь баланс на bounceable EQ... для нового кошелька → сумма может отскочить. Для первого депозита используй non-bounceable.
Сменил publicKey / версию контракта после раздачи адреса → StateInit другой, адрес другой; старый останется пустым или с «зависшими» монетами без кода.
Считаешь, что «импорт seed» сам деплоит контракт → импорт только вычисляет адрес; on-chain активация — при первой исходящей (или явном деплое).
Что дальше
- Аккаунты в TON: uninit, active, frozen — статусы до и после деплоя
- Адреса в TON: raw vs user-friendly — bounceable vs non-bounceable
- Кошельки TON: версии контрактов v3/v4/v5 — разные StateInit → разные адреса
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация