209 похожих чатов

Добрый день. Хз по адресу ли. Смотрите, перед отправкой транзакции

в контракт можно посчитать какой Gas limit нужно выставить при определенных параметрах транзакции. Это умеет делать например web3.

Есть админ контракта, у меня нет ключа от его кошелька. И есть функция контракта, которую может вызвать только админ. Могу ли я посчитать его газ лимит на исполнение этой транзакции? Потому что пытаясь сделать это стандартным способом, я конечно получаю revert, так как вообще не имею прав на исполнение данной функции. Возможно ли это?

10 ответов

4 просмотра

Какой смысл вычислять лимит по газу на функцию, которую все равно не можешь вызвать? :)

Alexander- Автор вопроса
Sergey Mironov
Какой смысл вычислять лимит по газу на функцию, ко...

Всегда находится человек, который спрашивает "какой смысл" 🤔 Ну вообще админ контракта и попросил. Но ключ не даст конечно. Короче задача есть, а решения нет.

Alexander
Всегда находится человек, который спрашивает "како...

Самый простой способ это сьэмитировать контракт в тестовой сети - понятный будут стоимость вызова по газу

Alexander
Всегда находится человек, который спрашивает "како...

Код контракта есть? Тогда задеплоить в тестовую сеть от себя Второй вариант - если админ эту функцию уже вызывал. Тогда просто по истории транзакций найти нужную и посмотреть расход газа

Alexander- Автор вопроса
Ivan Borisov
Самый простой способ это сьэмитировать контракт в ...

Вот тут самое непонятное! Я написал контракт который имеет ТОЛЬКО эту функцию. Вот только оно требует в remix ide 14к газа, а если админ смотрит газ лимит от реального контракта, через метамаск - там стоит 28к газа. И я честно говоря вообще не понимаю откуда этот разброс, функция то такая же, должна вызывать те же опкоды и ту же стоимость. Но спасибо, наверное буду пробовать дальше через тестнеты играться.

Alexander
Вот тут самое непонятное! Я написал контракт котор...

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

Alexander
Вот тут самое непонятное! Я написал контракт котор...

Уже 10 раз обсуждали, решает общий стейт сети.

Alexander- Автор вопроса
ilya
Уже 10 раз обсуждали, решает общий стейт сети.

Впервые слышу. Спасибо, буду иметь ввиду. Всегда считал что это фиксированная величина в любой момент времени. Как то такая относительность дурно пахнет 🤔 Тогда через тестнет я ничего не протестирую раз это плавающее значение.

Похожие вопросы

Карта сайта