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

