Почему для этой контрактной сделки с эфиром использовалось меньше газа? - PullRequest
0 голосов
/ 01 июля 2018

Пожалуйста, проверьте это ниже транзакции ethereum:

0xe9adbe7e538ccf9f9d4ede8cc4200581dac131976738d3bbf0eb90700cd8a2b6

Транзакция ethereum потребляет не менее 35 000 ГАЗ для передачи токенов ERC20 по контрактам для замены двух остатков на счетах и ​​одного события.

Но эта транзакция только что использовала 21,003 ГАЗ . Как это возможно?

1 Ответ

0 голосов
/ 01 июля 2018

транзакция ethereum потребляет не менее 35 000 GAS для передачи токенов ERC20 по контрактам для замены двух остатков на счетах и ​​одного события

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

Из Эфириума желтой бумаги (OPCODE Name | Стоимость газа | Описание):

Gsset 20000 Оплачивается за операцию SSTORE, когда значение хранилища не равно нулю от нуля.

Gsreset 5000 Оплачивается за операцию SSTORE, когда нулевая величина хранилища остается неизменной или установлена ​​на ноль.

Rsclear 15000 Возврат средств предоставляется (добавляется в счетчик возмещения), когда значение хранилища установлено на ноль из ненулевого значения.

В случае транзакции, которую вы разместили, отправитель перенес все свои токены, установив свой баланс на 0, поэтому было получено 15000 возврата газа.

...