Токен Honeypot — это вредоносная криптовалюта, созданная разработчиками, которые намеренно вставляют ограничения или бэкдоры в смарт-контракт. Это позволяет обычным пользователям покупать токен, но не позволяет им продавать его (или делает продажу предметом чрезвычайно высоких комиссий/механизмов черного списка), эффективно удерживая их средства в своих кошельках. На первый взгляд такие токены могут показаться законными — у них могут быть пары ликвидности, логотипы токенов и активное продвижение сообщества — но как только пользователь покупает токен на децентрализованной бирже, он вскоре обнаруживает, что продажа отклонена или комиссии за транзакции настолько высоки, что вернуть свои инвестиции становится невозможно.
Как избежать потерь и как проверить
Вы можете ввести адрес контракта токена в обозревателе блокчейна, например OKLINK (как показано в примере ниже). Если токен является Honeypot, он обычно помечается соответствующим образом.
2. Поскольку новые токены запускаются в блокчейне каждый день, а эксплореры могут не обновляться вовремя, вы можете выполнить ручную самопроверку, используя следующие методы.
Проверьте вкладку «Прочитать договор»:
owner() — Если он возвращает значение, отличное от 0x000..., это означает, что владелец все еще имеет контроль.
totalSupply() и balanceOf() — проверьте начальное распределение токенов.
Ищите такие функции или переменные, как isExcludedFromFee(address), isBlacklisted(address), maxTxAmount() и tradingEnabled() (разные контракты могут использовать разные имена, но они служат схожим целям).
На вкладке «Написание контракта» (доступно только при наличии разрешения):
Проверьте, есть ли конфиденциальные функции записи, такие как setFeePercent, setBlacklist, renounceOwnership или setTradingEnabled. Если они существуют и могут быть вызваны только владельцем, токен несет в себе высокий риск.
Выполните поиск в исходном коде по следующим ключевым словам (без учета регистра или с подчеркиванием): blacklist, isBot, onlyOwner, setFee, maxTx, excludedFromFee, trading, swapAndLiquify, transferFrom, approve, mint, burn, renounceOwnership, liquidity.
Обратите особое внимание на реализацию transfer, _transfer и transferFrom — проверьте, обрабатывают ли они to ==pair или from ==pair по-разному (чтобы различать операции покупки и продажи).
Если вы найдете такой код, как
require(!_isBlacklisted[from]); если (к == паре) { плата = 99; }
это четкий красный флаг.
Проверьте, вызывает ли контракт маршрутизатор (например, Pancake/Uniswap Router) и включает ли процесс swap сложную логику, такую как lockTheSwap или _tax, которая может помешать нормальной замене.

