К основному содержимому

Что такое токен Honeypot?

U
Автор: UKey Wallet

Токен Honeypot — это вредоносная криптовалюта, созданная разработчиками, которые намеренно вставляют ограничения или бэкдоры в смарт-контракт. Это позволяет обычным пользователям покупать токен, но не позволяет им продавать его (или делает продажу предметом чрезвычайно высоких комиссий/механизмов черного списка), эффективно удерживая их средства в своих кошельках. На первый взгляд такие токены могут показаться законными — у них могут быть пары ликвидности, логотипы токенов и активное продвижение сообщества — но как только пользователь покупает токен на децентрализованной бирже, он вскоре обнаруживает, что продажа отклонена или комиссии за транзакции настолько высоки, что вернуть свои инвестиции становится невозможно.

Как избежать потерь и как проверить

  1. Вы можете ввести адрес контракта токена в обозревателе блокчейна, например 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, которая может помешать нормальной замене.

Нашли ответ на свой вопрос?