Токенът 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 по различен начин (за да разграничите операциите покупка и продажба).
Ако намерите код като
изисквам(!_е в черния списък[от]); if (to == pair) { fee = 99; }
това е ясен червен флаг.
Проверете дали договорът извиква рутер (напр. Pancake/Uniswap Router) и дали процесът на swap включва сложна логика като lockTheSwap или _tax, което може да попречи на нормалния суап.

