• 0 Голоса
    1 Сообщения
    38 Просмотры

    Всем привет.

    В моем приложении я разрешаю вносить и снимать немного Jetton. Я хотел бы реализовать вывод средств таким образом, чтобы пользователь компенсировал комиссию за транзакцию (что-то вроде 0,05 тонны за перевод Jetton). У меня есть несколько способов реализовать это с помощью tonSDK, например:

    попросите перевести 0,05 тонны на кошелек may, а затем отправьте Jettons * поскольку у Jetton фиксированный курс к ton - конвертируйте комиссию в Jetton и снимайте ее с вывода * добавьте некоторую сущность, например токен вывода - пользователь покупает некоторое количество токенов вывода, а затем может использовать их для вывода Jetton.

    Но я чувствую, что это можно было бы сделать проще, например, встроить функцию или, может быть, какой-нибудь хорошо известный смарт-контракт, но я совершенно новичок в этой теме.

    Не могли бы вы мне что-нибудь посоветовать?

    Оригинал вопроса

  • Расширить регистр фаз `commit()`?

    TON Overflow на русском
    0 Голоса
    1 Сообщения
    13 Просмотры

    Согласно документации, мы находим функциональный код commit(), описанный следующим образом:

    Commits the current state of registers c4 (“persistent data”) and c5 (“actions”) so that the current execution is considered “successful” with the saved values, even if an exception is thrown later.

    https://docs.ton.org/develop/func/stdlib#commit

    Описание может сбить с толку. Вот несколько вопросов, которые необходимо прояснить:

    Что мы получим в виде исключения или ошибки, если мы уже зафиксировали код в смарт-контракте? * Почему нам нужно фиксировать данные или статус в коде смарт-контракта, даже если в конечном итоге это приведет к ошибке? * Каковы будут последствия, если смарт-контракт получит "статус неизвестной ошибки"?

    Оригинал вопроса