Независимый гайд · Крипто

Отключение от сайта ≠ отзыв ERC‑20 разрешений: как проверить и отозвать

Пошаговая инструкция для самоконтролируемых пользователей Ethereum ERC‑20: почему отключение не удаляет on‑chain разрешения и как безопасно их отозвать.

Редакционная иллюстрация к материалу: Отключение от сайта ≠ отзыв ERC‑20 разрешений: как проверить и отозвать

Почему это важно

Отключение кошелька завершает только сессию браузера; изменение ERC‑20 allowance требует on‑chain транзакции (обычно approve(spender, 0)) и подтверждения в блокчейне.

Почему отключение dApp не отменяет ERC‑20 разрешения

Отключение кошелька лишь завершает сессию в браузере и убирает у сайта доступ к интерфейсу вашего адреса. Если ранее вы подписали approve(), то соответствующее значение сохранено в контракте токена на блокчейне и останется там, пока не придёт новая транзакция.

В контракте ERC‑20 разрешения хранятся в mapping owner → spender → uint256. Поменять этот mapping можно только через on‑chain вызов (обычно approve(spender, amount)).

  • Disconnect закрывает только браузерный доступ.
  • approve() — ончейн‑операция; без новой транзакции состояние не изменится.

Как проверить сеть, контракт токена, адрес spender и текущее allowance

Убедитесь, что в кошельке выбрана корректная сеть (Ethereum Mainnet или другая). Проверка на неверной сети может показать другой контракт или отсутствие данных.

Используйте Etherscan Token Approval Checker (Ethereum) или Revoke.cash (мультичейн). Вставьте только ваш публичный адрес: сервисы покажут контракт токена, адрес spender и размер разрешения. При сомнении откройте адрес spender на Etherscan для изучения кода и транзакций.

  • Проверяйте сеть в кошельке.
  • Вставляйте только публичный адрес в чекер.
  • Проверяйте адрес spender на Etherscan при сомнениях.

Отправка транзакции отзыва и оплата газа

Чтобы отозвать разрешение, обычно выполняют approve(spender, 0) в контракте токена. Кошельки и веб‑утилиты подготовят ABI‑закодированный вызов автоматически; вам останется подтвердить транзакцию и оплатить газ.

Газ оплачивается нативной монетой сети (ETH). Стоимость и лимит газа зависят от загруженности сети; кошелёк покажет оценку перед подтверждением. Дождитесь, пока транзакция будет включена в блок и подтверждена.

  • Шаг: approve(spender, 0) — кошелёк формирует данные.
  • Газ платится в ETH; проверьте оценку в кошельке.
  • Не доверяйте изменениям, пока транзакция не подтверждена.

Проверка результата и ограничения метода

После включения транзакции в блок снова проверьте allowance через Revoke.cash или Etherscan Read Contract, вызвав allowance(owner, spender). Если значение 0 — отзыв прошёл.

Отзыв не возвращает средства, которые уже были списаны с помощью ранее выданного разрешения, и не спасёт при утечке seed‑фразы. В случае компрометации ключей перенесите средства в новый кошелек.

  • Проверяйте allowance через Read Contract или approval checker.
  • Отзыв мешает будущим transferFrom() сверх нового лимита, но не отменяет прошлые переводы.
  • При утечке ключей — создайте новый кошелёк и переведите активы.

Что проверить

  • Убедитесь, что в кошельке выбрана правильная сеть (Ethereum Mainnet).
  • Откройте Etherscan Token Approval Checker или Revoke.cash и вставьте публичный адрес.
  • Найдите контракт токена, адрес spender и текущее allowance; проверьте spender на Etherscan.
  • Выберите «Revoke» (установить 0) или уменьшите лимит, подтвердите транзакцию и оплатите газ.
  • Дождитесь подтверждения и проверьте, что allowance(owner, spender) равен 0.
  • Если seed‑фраза была скомпрометирована, перенесите средства на новый кошелёк — отзыв не исправляет утечку ключа.

Источники

Проверено: . Внешние источники открываются в новой вкладке.

  1. How to revoke smart contract access to your crypto fundsethereum.org
  2. How to revoke smart contract allowances / token approvalsMetaMask Support
  3. Token Approval Checker / Token Approval documentationEtherscan
  4. Token approval checker — learn approvalsRevoke.cash
← Другие материалы