Шаг 5 из 10 · Около 15 минут
Шаг 5. Читаем контракт и проверяем аудит
Здесь снимается миф «есть логотип аудитора — значит проверено». Картинку рисуют за минуту, отчёт в реестре аудитора — нет.
Содержание — 9 разделов
- Что такое верификация исходного кода и почему без неё нечего читать
- Как найти страницу контракта
- Три функции, которые ищут глазами
- Как проверить, что аудит настоящий
- Три исхода шага
- Когда аудита нет вовсе — и почему это не то же самое, что поддельный
- Пример по фактам: проект eRub
- Что записать в чек-лист
- Чего этот шаг не доказывает
Что такое верификация исходного кода и почему без неё нечего читать
Смарт-контракт — это программа, которая живёт в блокчейне и управляет монетами: кто сколько имеет, кто кому может перевести, можно ли выпустить ещё. В сеть программа попадает в машинном виде, который человек прочитать не может. Верификация — это когда разработчик выкладывает исходный текст рядом с рабочей версией, а обозреватель проверяет, что одно соответствует другому, и ставит пометку.
Без верификации вы видите набор байтов и не знаете правил, по которым живут ваши деньги. С верификацией правила можно прочитать — и, что важнее, их могут прочитать тысячи посторонних людей. Публикация кода ничего не стоит и делается за час; отказ от неё — выбор, который проект сделал сознательно.
Как найти страницу контракта
Начните с адреса токена — строки, начинающейся с 0x в сетях, похожих на Ethereum, или иного формата в других сетях. Он должен быть опубликован на сайте проекта, в его документе или закреплён в официальном чате. Если адрес не опубликован нигде, а купить монету можно только внутри кабинета, — контракта, доступного вам для чтения, на сегодня нет; запишите это и переходите к разделу «когда аудита нет вовсе».
Вставьте адрес в обозреватель сети (шаг 4), откройте вкладку с кодом контракта. Что должно быть видно: пометка о верификации, исходный текст, список функций, которые можно вызвать и прочитать.
| Сервис | Что делает | Зачем на этом шаге |
|---|---|---|
| etherscan.io и одноимённые обозреватели других сетей | Показывает верифицированный код, владельца контракта, список функций, историю вызовов | Основное место чтения контракта |
| sourcify.dev, repo.sourcify.dev | Независимый открытый реестр верифицированных контрактов, не зависящий от одного обозревателя | Сверить: если код верифицирован и там, и там — источников два |
| 4byte.directory | Словарь сигнатур функций: по короткому коду показывает человеческое имя функции | Когда код не верифицирован, но нужно понять, какие функции у контракта есть |
| gopluslabs.io, de.fi/scanner, quickintel.io, dexanalyzer.io | Автоматические сканеры: читают контракт и перечисляют опасные права владельца — выпуск, заморозка, изменение комиссии, запрет продажи | Быстрый первый проход перед чтением глазами |
| honeypot.is, rugcheck.xyz | Проверка на honeypot — монету, которую можно купить и нельзя продать; второй сервис — для сети Solana | Симулирует продажу и показывает результат |
| revoke.cash | Показывает, каким контрактам ваш кошелёк выдал разрешения распоряжаться монетами, и отзывает их | После любых тестов — забрать выданные разрешения обратно |
Три функции, которые ищут глазами
Программировать не нужно. В списке функций контракта ищите слова — они почти всегда английские и почти всегда одни и те же.
Выпуск новых монет — mint, issue, create. Если функция есть и вызывать её может владелец, общее количество монет не ограничено ничем, кроме его желания. «Эмиссия 21 миллиард» в документе при наличии mint без ограничений — это обещание, а не свойство контракта.
Заморозка и чёрный список — blacklist, freeze, pause, lock. Владелец может запретить конкретному адресу отправлять монеты. У проектов, работающих с регуляторами, такая функция бывает по требованию закона; у проекта без юрлица из шага 1 она означает, что ваш кошелёк можно выключить одним вызовом.
Изменение комиссии и правил торговли — setFee, setTax, setMaxTx, enableTrading. Комиссия на перевод, которую владелец может поднять до 99 %, — это и есть honeypot в отложенной форме: сегодня продавать можно, завтра — нет.
Отдельная строка — владелец контракта (owner). Кто он: один адрес, несколько подписантов (мультиподпись) или никто (права сожжены — renounceOwnership)? Один адрес с полными правами означает, что судьба всех монет зависит от одного приватного ключа. Это не обязательно плохо на старте, но это надо знать.
Обновляемый контракт (proxy, upgradeTo, implementation). Обозреватель обычно отмечает такие явно. Смысл: сегодняшние правила можно заменить любыми другими, не меняя адреса. Кто может обновить и как — вопрос владельцу.
Простыми словами. Контракт — это устав клуба, в который вы вступаете. Верификация — возможность его прочитать. Три функции — это пункты устава «правление может принять новых членов без ограничений», «правление может исключить любого без объяснений» и «правление может изменить взносы в любой момент». Такие уставы бывают, но вступать в клуб с ними лучше, зная о них.
Как проверить, что аудит настоящий
Аудит — это отчёт независимой компании, которая прочитала код и перечислила найденные проблемы. Подделать логотип аудитора на сайте — минута. Подделать запись в публичном реестре аудитора — нельзя. Поэтому проверка сводится к одному: найти отчёт у аудитора, а не у проекта.
| Аудитор | Где лежат отчёты |
|---|---|
| CertiK | skynet.certik.com — карточки проектов с датой аудита и адресом контракта; certik.com |
| SlowMist | slowmist.com; публичные отчёты — на github.com/slowmist |
| PeckShield | peckshield.com; отчёты — github.com/peckshield/publications |
| HashEx | hashex.org; публичные аудиты — github.com/HashEx/public_audits |
| SolidProof | app.solidproof.io — реестр проверенных проектов |
| QuillAudits | quillaudits.com |
| OpenZeppelin, Consensys Diligence | openzeppelin.com, consensys.io/diligence — публикуют отчёты по крупным проектам |
Что читать в найденном отчёте. Адрес контракта — совпадает ли с тем, что продают вам; аудит другого контракта того же проекта ничего не говорит о вашем. Дата — код с тех пор могли переписать, особенно если контракт обновляемый. Выводы — сколько замечаний критического уровня и исправлены ли они; аудит с неисправленными критическими находками — это документ о проблемах, а не о качестве. Объём — проверялся один контракт или вся система.
Если проект называет аудитора, которого в нашей таблице нет, — принцип тот же: найдите сайт аудитора, найдите там реестр или список отчётов, найдите свой проект. Не нашли — запишите «отчёт в реестре аудитора не найден». Это факт, и его нельзя оспорить.
Дополнительный признак зрелости — программа вознаграждения за найденные уязвимости на immunefi.com (открыт 17.09.2026). Не обязательна, но у проектов, которые держат чужие деньги всерьёз, обычно есть.
Три исхода шага
| Что увидели | Что это меняет |
|---|---|
| Код верифицирован, права владельца ограничены или переданы мультиподписи, отчёт найден в реестре аудитора с тем же адресом и свежей датой | Правила известны и проверены посторонними. Дальше — токеномика: кто держит монеты |
| Код верифицирован, но владелец может выпускать, замораживать или менять комиссию; аудита нет или он старый | Правила известны, и они дают владельцу власть над вашими монетами. Записать дословно, какие функции есть; оценить по красным флагам |
| Кода нет (не верифицирован или адрес контракта не опубликован), аудит есть только картинкой | Правила неизвестны. Два признака с весом «весомо» одновременно |
Когда аудита нет вовсе — и почему это не то же самое, что поддельный
Аудит стоит денег — от нескольких тысяч до сотен тысяч долларов, — и у молодого проекта его может не быть честно. «Аудита пока нет, планируем» — нормальная фраза для стадии. Ненормальна другая: логотип известного аудитора на сайте при отсутствии отчёта в реестре этого аудитора. Первое — состояние дел, второе — расхождение слов и фактов, и они весят по-разному.
Пример по фактам: проект eRub
На сайте erub.site и в его публичных материалах мы не нашли ни адреса контракта, ни верифицированного исходного кода, ни отчёта об аудите — ни у проекта, ни в реестрах аудиторов из таблицы выше. Документ по адресу /whitepaper на 17.09.2026 открывается как та же страница сайта, отдельного файла нет. Это описание того, что найти не удалось; утверждать, что кода или аудита не существует, мы не можем.
По таблице исходов — третий случай. Как его взвесить, написано в красных флагах.
Что записать в чек-лист
Пятая группа чек-листа: адрес контракта найден в открытом источнике; код верифицирован обозревателем; какие права у владельца (перечислить функции); отчёт найден в реестре аудитора — с датой и адресом. Каждый пункт — с датой проверки: обновляемый контракт завтра может стать другим.
Чего этот шаг не доказывает
Верифицированный и проаудированный контракт не делает проект прибыльным и не гарантирует, что владелец не воспользуется своими правами. Аудит проверяет код, а не людей и не экономику: деньги можно вывести и без уязвимостей — законной функцией, которую аудитор описал как «централизованный риск». Про экономику — шаг 6 и шаг 9.
Сколько заняло: у нас — четырнадцать минут, из них половина на поиск отчёта.
Сервисы, о которых идёт речь на этой странице, принадлежат третьим лицам. Мы не связаны с ними, не получаем вознаграждения за упоминание и не отвечаем за то, как они работают. Каждый адрес открыт нами 17 сентября 2026 года; что не открылось в тот день, на странице не названо.
Куда дальше
- Шаг 6. Токеномикаследующий по порядку — от правил контракта к тому, у кого на руках монеты
- Ошибка №2: снимок экрана вместо документакартинка с заключением аудитора — главный пример этой ошибки
- Словарь: верификация, прокси-контракт, мультиподпись, honeypotчетыре слова этого шага, объяснённые в два предложения каждое
- Инструменты пятого шагареестры аудиторов и сканеры контрактов одной таблицей с датой проверки