На странице тонкостей Ethereum (в основном поддерживаемой VB) в разделе « Исключительные условия » указано следующее :
- Если транзакция вызывает исключение, то:
- Передача стоимости от отправителя к получателю по-прежнему происходит
Это не соответствует моему пониманию, моим тестам или, я думаю, Желтой книге , которая говорит в разделе 8 (выделено мной),
если выполнение останавливается исключительным образом (т. е. из-за исчерпанного запаса газа, опустошения стека, неверного пункта назначения перехода или неверной инструкции)... состояние возвращается к точке, непосредственно предшествовавшей переносу баланса
Интересно, что 16 февраля chriseth добавил уведомление о том, что некоторые вещи об отмене транзакций эфира были неправильными. Это уведомление было удалено 17 июня vbuterin.
Итак, статья о тонкостях просто неверна по этому поводу, или я что-то не понимаю?
Как я вижу, Виталик обновил то, что он считал совокупностью тонкостей, и удалил примечание, добавленное Крисом.
Линии, которые вы отмечаете, не были изменены.
Я также согласен с тем, что это неверно, и поэтому подозреваю, что это был просто недосмотр. Я твитнул Виталику и Крису — может, они прокомментируют?
Бенджаминион
крестит
Бенджаминион