March 27

DeFi. Uniswap v.4. Хуки (Hooks). Часть I. Вводная 

Uniswap v.4: hooks (хуки)

В 9 из 10 случаев пишу статью, если:

  1. Не нашёл ответ в сети по интересующему меня вопросу;
  2. Или этот ответ меня не устроил: по полноте, охвату, глубине детализации и т.д.

В данном же случае случалось и то и другое: да, статьи, вроде бы и есть, но их нельзя назвать полными и завершёнными, а детализации пока так мало, что об этом можно рассказывать отдельно.

И всё же ограничусь 3-4 частями, в первой из которых (вы её сейчас изучаете), расскажу о том, где в принципе искать информацию о хуках и с чего начинать в целом.

Хук - это?

Классический фланговый удар из традиционного бокса. «Хук» в переводе с английского означает «крюк», что совпадает с традиционным русским названием этого удара. Однако в настоящее время чаще используется англоязычное название.

Но это в боксе. А вот в Uniswap это совсем другие “крючки”...

В контексте Uniswap v4 хук (hook) — специальный фрагмент кода, который можно подключать к пулам ликвидности, чтобы расширять их поведение. Это одна из ключевых новинок Uniswap v4 и делает его гораздо более гибким по сравнению с предыдущими версиями.

Поэтому - немного статистики:

Uniswap v. 4. Статистика 01

Можно изучить не с позиции объёмов, но и сетей:

Uniswap v. 4. Статистика 01

Есть и альтернативное представление по первому и второму примеру: dune.com/obchakevich/uniswap-all-versions. А теперь - вернёмся к хукам, т.к. видим, что объёмы v.4 вполне себе растут.

Ещё раз: hook — настраиваемый смарт-контракт, который может быть вызван в определённые моменты жизненного цикла пула:

  • при создании пула,
  • при добавлении/удалении ликвидности,
  • при свопе,
  • и в других точках (например, перед или после сделки).

Это как "вставка" своего кода внутрь стандартного пула, чтобы он работал по-новому.

И возникает резонный вопрос: “для чего нужны хуки?”. Короткий ответ: чтобы блокировать неугодных на уровне децентрализованного (блокчейн/DAG/DLT/etc.) бэкенда. Но есть ответ более позитивный.

Хуки позволяют:

  • Добавлять комиссии разработчикам — например, брать часть комиссии с пула в свою пользу.
  • Проверять условия — например, разрешать свапы только в определённое время или при определённых условиях.
  • Создавать новые AMM-логики — вплоть до поддержки динамических комиссий, автоматической ребалансировки и т. д.
  • Встраивать лимитные ордера, TWAMM (Time-Weighted Average Market Maker), oracles, и другие механики без создания новых протоколов.

Тогда зададимся ещё одним вопросом: “Как работают хуки?”.  Грубо говоря, каждое событие в пуле может "триггерить" вызов хука. Например:

  • beforeSwap(...) → вызывается перед свапом,
  • afterSwap(...) → вызывается после свапа,
  • beforeInitialize(...), afterAddLiquidity(...) и т. д.

Разработчик может реализовать только нужные ему методы — необязательно использовать все.

Чтобы въехать ещё быстрее - примитивный пример использования. Допустим, у вас есть пул, который:

  • Разрешает свопы только с 9:00 до 18:00 по UTC,
  • Берёт дополнительную комиссию 0.1%.

Для этого вы пишите хук-контракт, который проверяет время и добавляет свою комиссию. Затем создаёте Uniswap v4-пул с этим хук-контрактом: и всё!

Так почему это столь важно?Появление хуков делает Uniswap v4 больше похожим на платформу для DEX-протоколов, а не просто AMM (в чистом виде). Теперь любой может писать "расширенные пулы" прямо на Uniswap без форка всего протокола.

(Помните про вампирский майнинг? Это тоже один из ответов на вопрос: “Зачем?”).

Где искать хуки?

Да, эта проблема, скажу вам: ещё квартал назад, в начале 2025 года, не было ничего.

HookRank

Но сейчас есть уже кое-что. Один из таких сервисов: hookrank.io - конечно, он не похож на полноценный маркетплейс хуков, но здесь есть уже всё необходимое:

  1. Тип хука;
  2. Объём торгов с ним;
  3. Адрес-деплойера;
  4. Дата деплоя;
  5. И многое другое.

Выглядит это так:

Статистика по хукам

hookrank.io/gas-spendings:

Объём газа

Думаю, корреляция с графиками вышна заметна. Ещё вернёмся к этому сервису и не раз. А пока расскажу об альтернативах.

Dune

Без неё никуда: dune.com/sealaunch/uniswap-v4-hooks:

411 хуков и не только

Как видим, здесь уже большее количество хуков высвечивается. Но посмотрим на ещё один дашборд: dune.com/paulapivat/uniswap-v4-growth-by-hooks:

Лидерство Base по хукам

Здесь уже можем наблюдать за лидерством Base, т.к. их главный бенефициар сделал и внедрил уже ряд популярных хуков.

Следующий трекер: dune.com/uniswap_fnd/v4-launch-metrics-tracker:

Альтернативное представление

Здесь видим снова пересечения с первыми графиками на Dune (см. выше).

Наконец, ещё один рассмотрим сборник представлений: dune.com/uniswap_fnd/v4pooldeployedwatcher:

И ещё одно

Логично, что и здесь видим схожие данные.

Документация

Обычно её советую смотреть в первую очередь, но не в данном случае. Почему?

  1. Слишком много неточностей и ошибок;
  2. Объективная статистика больше про другие источники пока.

И всё же, вот две важные ссылки:

  1. Создание хука: docs.uniswap.org/contracts/v4/guides/hooks/your-first-hook
  2. Более сложный пример: blog.uniswap.org/v4-twamm-hook

Дополнительные ссылки

Ряд из них будет в переводе, но позже, а пока - список:

  1. research.2077.xyz/a-complete-guide-to-uniswap-v4-1
  2. medium.com/@umbrellaresearch/uniswap-v4-hooks-a-deep-dive-with-captain-hook-i-6be5d1677539
  3. medium.com/buildbear/how-to-build-custom-hooks-in-uniswap-v4-79b158488ed2
  4. uniswapfoundation.mirror.xyz/KGKMZ2Gbc_I8IqySVUMrEenZxPnVnH9-Qe4BlN1qn0g
  5. github.com/ora-io/awesome-uniswap-hooks

Что дальше?

Попробую разобрать кое-какие примеры и общие векторы, а пока всё и

До!