Кто платит газ за смарт-контракты?

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

Я не уверен, правильно ли я понял. С каждой транзакцией клиент платит комиссию в газе, и этот газ будет использоваться для выполнения так называемой функции смарт-контракта.

Вкратце, я разворачиваю контракт, мне нужно обеспечить его газом? Могу ли я как-то заставить клиентов сделать это? Кстати, этот остаток контракта используется как хранилище газа?

Ваше здоровье!

Ответы (3)

Вкратце, я разворачиваю контракт, мне нужно обеспечить его газом? Могу ли я как-то заставить клиентов сделать это? Кстати, этот остаток контракта используется как хранилище газа?

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

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

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

Вы также можете обратиться к этому вопросу .

Надеюсь это поможет!

РЕДАКТИРОВАТЬ . Если это вызов constantфункции viewили pure, транзакция не будет инициирована, следовательно, не будет расходов на газ. Проверьте этоview , чтобы узнать больше о pureфункциях.

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

+1 правда что. стоит упомянуть, я также обновлю свой ответ

Кроме того, постоянные (представленные или чистые) функции стоят газа только в том случае, если постоянная (представленная или чистая) функция выполняется или вызывается другим внешним смарт-контрактом, который не является владельцем этой функции. Но если он вызывается из смарт-контракта, в котором объявлена ​​константная (представленная или чистая) функция, то газ использоваться не будет.

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