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

    Мы создаем Jetton для игры, в которую пользователи могут вносить депозиты и выводить средства со своего кошелька. Но мне было интересно, как мы можем справиться с комиссией за транзакции между кошельками, поскольку она составляет около 0,05 тонны, а при большом количестве транзакций это может стоить больше, чем мы зарабатываем

    Итак, каково решение этой проблемы? должны ли мы оплачивать сборы? если это пользователь, как я могу его оплатить (прямо сейчас у нас есть кошелек в базе данных для каждого пользователя, поэтому пока в системе нет транзакций, поскольку мы планируем создать кошелек для каждого пользователя)

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

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

    Всем привет.

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

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

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

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

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

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

    Есть страница на ton.org в нем представлены некоторые рекомендации по оптимизации расхода газа:

    https://docs.ton.org/develop/howto/fees-low-level

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

    В блокчейне TON каждый NFT использует свой собственный смарт-контракт. А хранение вещей в TON требует оплаты платы за хранение, вычитаемой из любого смарт-контракта. Означает ли это, что у каждого NFT на TON есть свой баланс, который очень медленно уменьшается из-за платы за хранение? Что произойдет, если температура опустится ниже нуля? Может ли NFT быть удален?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

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

    Решено

    Цены на газ рассчитываются с учетом параметров конфигурации 20 (для masterchain) и 21 (для basechain). Пока они одинаковы, рассчитанные тарифы на газ будут одинаковыми.

    Я проверил это, и в настоящее время в базовой цепи они равны, но в главной цепи это не так.

    Кроме того, плата за хранение зависит от состояния выполнения каждой учетной записи, поэтому она наверняка будет разной, хотя обычно это очень небольшая плата.

    Существует также плата за пересылку, которая может отличаться в зависимости от конфигурации блокчейна.

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

    Решено

    Да, потребление газа действительно увеличивается с увеличением размера словаря. Это связано с тем, как упакован словарь.

    В частности, он упакован как сжатое дерево префиксов в дерево ячеек. Когда вы выполняете операцию считывания, считываются все ячейки на пути к вашему значению, причем считывание каждой ячейки обходится в 25/100 газа.

    Таким образом, словари большего размера, в которых больше ячеек для чтения, будут потреблять больше газа.

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

    Решено

    Этот вопрос состоит из двух частей. Первое - это убедиться, что вы не столкнетесь с ошибкой "закончился газ".

    Вы можете попытаться оценить плату за газ для транзакции, сначала вызвав конечную точку estimateFee http-api. Вы можете увидеть, как TON Center делает это на их сайте документации. По сути, вы хотите предоставить подробную информацию о транзакции, которую вы отправите, чтобы узнать, сколько газа может стоить транзакция или завершится ли она неудачей.

    { "address": "string", "body": "string", "init_code": "", "init_data": "", "ignore_chksig": true }

    Вторая часть этого вопроса посвящена оптимизации расхода газа. Чтобы оптимизировать смарт-контракты на TVM, вы должны понимать, как компилятор преобразует языки более высокого уровня в Fift. Вы можете увидеть, сколько стоит каждый опкод на сайте документации. В целом, чем меньше вы храните, тем меньше стоит газ.

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

    Могу ли я рассчитать точную комиссию за определенную транзакцию? Как это сделать?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

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

    Иногда было бы удобно, если бы плата за газ для транзакций оплачивалась с какого-либо другого счета. В экосистеме EVM для этого есть EIP-2711: https://eips.ethereum.org/EIPS/eip-2711

    Есть ли что-то подобное в блокчейне TON, или комиссия всегда должна быть оплачена отправителем?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

  • Почему мастер-цепочка дороже базовой?

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

    С технической точки зрения, masterchain и basechain во многом похожи. Почему использование masterchain обходится намного дороже газа?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

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

    Да, можно написать свой код непосредственно в Fift, чтобы сделать его более экономичным с точки зрения потребления газа. Причина в том, что Fift является языком более низкого уровня, чем FunC, что означает, что он обеспечивает более детальный контроль над кодом и позволяет более эффективно программировать.

    Однако написание кода непосредственно в Fift требует большего опыта и усилий, поскольку Fift является языком, основанным на стеке, и имеет более крутую кривую обучения, чем FunC. Таким образом, возможно, не стоит тратить усилия на простые или небольшие контракты.

    Таким образом, написание кода непосредственно в Fift может привести к созданию более эффективных и рентабельных контрактов, но это требует большего опыта и усилий.

  • Насколько дорог queryId по сравнению с seqno?

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

    Высоконагруженные кошельки используют queryId вместо seqno. Это лучше подходит для больших объемов транзакций, но сопряжено ли это с затратами на газ? Сколько газа требуется queryId по сравнению с seqno?

    Этот вопрос был импортирован из чата Telegram: <***Скрыто***

    click to show

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

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

    Решено

    Да, текущее поле "gas_limit" в разделе "Ограничения" указывает текущий глобальный лимит газа. В приведенном выше примере глобальный лимит газа установлен на 1000000000000, то есть на 1 тонну.

    Обратите внимание, что глобальный лимит на газ может быть изменен валидаторами блокчейна TON через механизм управления. Если глобальный предел расхода газа изменен, новое значение будет отражено в выходных данных команды getconfig.

    Чтобы проверить текущий глобальный лимит газа для блокчейна TON, вы можете использовать клиент TON Lite для запроса полного узла в сети. Вот как это сделать:

    Запустите клиент TON Lite и подключитесь к полноценному узлу в сети. Используйте команду getconfig 34, чтобы запросить текущий глобальный лимит расхода газа. Это вернет значение в нанограммах.

    Или получите подробную информацию здесь: https://ton.org/docs/develop/howto/config-params

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

    Решено

    1 МБАЙТ - это 4 тонны в год. Размер кошелька составляет менее 1/4 КБ, что приводит к получению менее 0,001 тонны в год.

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

    Решено

    Да, владелец в конечном итоге потеряет все деньги. Однако объем данных, хранящихся в кошельке (предположим, v3r2), составляет менее 1 Кб, поэтому, чтобы потерять даже 1 тонну, вам придется ждать тысячи лет, за это время в сети явно произойдут какие-то другие кардинальные изменения.

  • Что такое плата за ММСП?

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

    IHR - это мгновенная маршрутизация по гиперкубу. Это еще не реализовано в TON chain. Таким образом, он всегда отключен, а плата за IHR всегда равна 0. Обратитесь к этому https://ton.org/docs/develop/smart-contracts/messages#message-макет

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

    Плата за пересылку оплачивается отправляющей стороной, даже если сообщение содержит 0 тонн.

    Кроме того, если во внутреннем сообщении нет скидки на газ (приходит сообщение с 0 граммами), вы не сможете вызвать accept_message в конце.

  • Насколько высоки штрафы для валидаторов?

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

    Привет,

    Значение наказания рассчитывается на основе параметра конфигурации 40, который определяет некоторые связанные значения, включая:

    default_flat_fine * default_proportional_fine * severity_flat_mult * severity_proportional_mult * long_flat_mult * long_proportional_mult

    Если этот параметр конфигурации не указан, то максимальное наказание составляет 101 тонну, в противном случае оно рассчитывается следующим образом:

    пусть: flat = default_flat_fine * (severity_flat_mult / 256) * (long_flat_mult / 256) пусть: part = default_proportional_fine * (severity_proportional_mult / 256) * (long_proportional_mult / 256) затем: max = flat + (part * stake / 4G) while: 4G = 4 * 1024 * 1024 * 1024 = 4,294,967,296

    Наконец, максимальное наказание = минимальное (ставка, макс)

    На момент написания этого ответа конфигурационный параметр 40 пуст, поэтому максимальное значение наказания составляет просто 101 ТОННУ.

    Если вы хотите проверить код, см. раздел [пул.fc строка 84](https://github.com/ton - блокчейн/номинатор-пул/blob/main/func/pool.fc#L84).

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

    Короче говоря, нет (или я этого не знаю). Каждая транзакция и контракт должны оплачиваться самостоятельно. Вы можете изменить режим отправки только для транзакции.

    Вы можете попытаться организовать это. Несколько случайных идей

    Используйте контракт B в качестве прокси-сервера для всех транзакций, к контракту A и B будет добавлено несколько тонкоинов для оплаты. Также излишек может быть возвращен по контракту А в контракт Б.

    Если в контракте A есть какая-либо транзакция на небольшую сумму, то A отправит транзакцию в контракт B (также прикрепив тело платежа), чтобы получить несколько тонкоинов. Затем B отправит обратно транзакцию с некоторой суммой и прикрепленными основными данными.

  • Как мне массово отправить ТОННУ джеттонов?

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

    Я советую вам задать этот вопрос в чате разработчика в Telegram: https://t.me/tondev_eng