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

    В среде testnet есть код операции GASCONSUMED, выполняющий именно это. Обновление еще не отправлено в основную сеть.

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

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

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

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

    Решено

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

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

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

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

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

    Решено

    Вычисление цены на газ для операций "get / set" на хэш-карте в виртуальной машине TON (TVM) может быть немного сложным, поскольку оно "динамическое" и зависит от "размера словаря", которым манипулируют.

    Хотя точной формулы для определения цены на газ не существует, вы можете оценить ее, используя следующий подход:

    Gas Price ≈ 600 * log2(SIZE)

    Здесь "РАЗМЕР" представляет размер словаря. Цена на газ, полученная по этой формуле, выражена в единицах стоимости газа, что означает, что она измеряется в "микротонах (10^-6 тонн)`.

    Пожалуйста, обратите внимание, что эта оценка основана на тестах и может быть не полностью точной во всех случаях.

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