Неудача не означает отсутствие исполнения

В сети Ethereum транзакции могут быть упакованы, исполнены, а затем вернуть сообщение об ошибке. Вычислительные ресурсы уже были израсходованы во время исполнения; хотя изменения состояния контракта откатываются, комиссия за транзакцию все еще может взиматься. Сначала необходимо различать «еще не транслируется», «ожидает обработки», «заменен» и «уже в блоке, но не выполнено», а затем объяснить изменения в средствах; сообщение об ошибке во всплывающем окне кошелька и квитанция в блокчейне — это разные типы доказательств.

Комиссии, сумма перевода и авторизации следует рассматривать отдельно

Типичный откат исполнения отменит изменения состояния этой транзакции, но отправитель все равно заплатит фактически израсходованную комиссию за газ. Максимальная сумма комиссии, зарезервированная или отображаемая в кошельке, может быть списана не полностью. Проверьте значение gasUsed в квитанции по сравнению с действующей ценой газа и проверьте изменения баланса. Не складывайте сетевые комиссии и сумму переводимых токенов вместе и не называйте это «списано платформой», а также не предполагайте, что все сбои вызваны одной и той же причиной.

Что говорят нам квитанции о сбоях

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

Проверка комиссий на гипотетических примерах

Предположим, что в чеке указано фактическое потребление газа в размере 50 000 и действительная цена 10 gwei, тогда комиссия составит 0,0005 ETH; это всего лишь пример, а не текущая рекомендация по комиссиям. Если кошелек отображает более высокий максимальный бюджет перед отправкой, сравните фактическое списание с неиспользованной частью, а не делайте вывод о краже разницы. Также убедитесь, что браузер отображает ту же транзакцию в той же сети.

Когда не следует нажимать снова

Сначала проверьте, был ли использован nonce счета, действительно ли исходная транзакция не удалась и не был ли уже успешно выполнен другой этап авторизации. Повторные отправки могут привести к новым комиссиям или дублированию операций. Если сбой вызван проскальзыванием, балансом, сроком действия или правами доступа, необходимо понимать параметры, прежде чем принимать решение; не следует бесконечно увеличивать допустимый диапазон. Если другая сторона запрашивает мнемоническую фразу или оплату комиссий за разблокировку на основании сбоя, немедленно прекратите работу.

Как составить журнал устранения неполадок

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