Токен-ловушка — это вредоносная криптовалюта, созданная разработчиками, которые намеренно внедряют ограничения или бэкдоры в смарт-контракт. Это позволяет обычным пользователям покупать токен, но запрещает им продавать его (или делает продажу облагаемой чрезвычайно высокими комиссиями / механизмами черных списков), фактически блокируя их средства в кошельках.
На первый взгляд такие токены могут выглядеть законными — у них могут быть пары ликвидности, логотипы токенов и активное продвижение в сообществе — но как только пользователь покупает токен на децентрализованной бирже, он вскоре обнаруживает, что продажа отклоняется или комиссии за транзакции настолько высоки, что становится невозможно вернуть свои инвестиции.
Как избежать потерь и как проверить
Вы можете ввести адрес контракта токена в обозревателе блоков, таком как OKLINK (как показано в примере ниже). Если токен является ловушкой, он обычно будет помечен соответствующим образом.
Поскольку каждый день в блокчейне запускаются новые токены, а обозреватели могут не обновляться вовремя, вы можете выполнить ручную самопроверку, используя следующие методы.
Проверьте на вкладке Read Contract:owner()— Если возвращает значение, отличное от0x000, это означает, что владелец по-прежнему имеет контроль.totalSupply()иbalanceOf()— Проверьте исходное распределение токенов.Ищите функции или переменные, такие как
isExcludedFromFee(address),isBlacklisted(address),maxTxAmount()иtradingEnabled()(разные контракты могут использовать разные названия, но они служат схожим целям).
На вкладке Write Contract (доступна только при наличии разрешений):Проверьте наличие чувствительных функций записи, таких как
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]); if (to == pair) { fee = 99; }это явный красный флаг.
Проверьте, вызывает ли контракт маршрутизатор (например, Pancake/Uniswap Router) и включает ли процессswapсложную логику, такую какlockTheSwapили_tax, которая может предотвратить нормальный обмен.

