Подпишись на канал фаундера и разработчика экосистемы tonpie
[Решено] Не удается развернуть функциональный смарт-контракт: ошибка с кодом выхода 34.
-
Я пытался самостоятельно создать простой смарт-контракт кошелька, чтобы изучить функции, но мои транзакции продолжают завершаться сбоем с кодом выхода 34. Что я делаю не так?
() recv_external (slice in_msg) impure { var valid_until = in_msg~load_uint(32); throw_if(35, valid_until <= now()); var dest_addr = in_msg~load_bits(256); var msg = begin_cell() .store_uint(0x18, 6) .store_slice(dest_addr) .store_coins(1) .store_uint(0, 1 + 4 + 4 + 64 + 32 + 1 + 1) .end_cell(); accept_message(); send_raw_message(msg, 3); }
Этот вопрос был импортирован из чата Telegram: > <***Скрыто***
click to show
-
Две проблемы:
- Вы должны прочитать адрес из фрагмента через
load_msg_addr
, а неload_bits
2. Сохраняйте адрес в builder черезAddr
, а неaddr
addr
- это псевдоним для 256uint. Между тем, полная сериализация адресов с помощьюAddr
также включает тег формата адреса, рабочую цепочку, 256-битную часть и некоторые дополнительные поля. - Вы должны прочитать адрес из фрагмента через