Оригинальная тематическая иллюстрация: Оригинальная тематическая схема ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0
Порядок имеет значение
Обычные транзакции внешнего счёта Ethereum используют последовательный nonce. Если ранний номер ещё не обработан, последующие могут ждать. Подтверждённое значение и значение с учётом ожидающих запросов способны различаться; узлы видят не одинаковые пулы. Не переносите эту модель на все сети и типы счетов. Запишите адрес, сеть и оба значения, затем найдите самый ранний незавершённый номер, а не увеличивайте комиссию случайной последней операции.
Ожидание отличается от ошибки
Вращающийся индикатор кошелька не доказывает провал исполнения. Узел мог не видеть запрос, удалить его из своего пула или ещё не включить в блок. Проверьте хеш через надёжный независимый источник. Включённая транзакция со статусом отката отличается от исчезнувшей неподтверждённой. Если после тайм-аута отправить тот же перевод с новым номером, позднее могут выполниться оба запроса. Сначала выясняйте состояние существующей операции.
Механизм замены
Замена обычно использует тот же отправляющий счёт и nonce, но новые условия комиссии. Требования повышения различаются между реализациями и сетями. Из конкурирующих транзакций этот номер занимает включённая первой. Кнопка ускорения или отмены может использовать тот же механизм, поэтому успех отмены не гарантирован. Перевод самому себе для отмены не возвращает уже подтверждённый платёж. Если исходная операция завершилась, новая подпись не переписывает историю цепочки.
Проверка перед подписью
Прочитайте получателя, сумму и данные вызова замены, а не только цену газа. Уточните предел и приоритетную плату; бессистемное повышение не устраняет ошибку логики договора. При работе нескольких программ с одним счётом согласуйте nonce, чтобы избежать конфликтов. После выполнения сопоставьте итоговую квитанцию, движение активов и связанные старый и новый хеши. Никому не передавайте фразу восстановления ради обещанного «разблокирования» очереди.



