TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.48K subscribers
Post #678 767
Гайд по изучению Uniswap. Часть 2

В Uniswap v3 было сделано большое обновление протокола, поэтому для понимания принципов его работы может уйти некоторое время.

Прежде всего стоит начать, что многие проекты копируют его код и структуру файлов в проекте, поэтому нам нужно знать, из чего вообще состоит Uniswap v3. Сделать это мы может, посетив его GitHub страницу.

Там мы увидим, что проект, в своей сути, разделен на два репозитория:

Uniswap v3 Core
и
Uniswap v3 Periphery

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

Для изучения работы протокола можно обращаться к его официальной документации или стороннему проекту, где описана вся его логика с примерами - Uniswap V3 Development Book.

Есть три видео, в которых авторы проходятся построчно в таких контрактах, как Position, Factory и делают общий обзор.

Рекомендую их посмотреть, чтобы наглядно представлять внутреннюю кухню Uniswap.

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

Для изучения Uniswap крайне важно понимать принципы работы работы, так называемых ticks, и концентрированной ликвидности пулов.

Вообще, tick - это некий диапазон цен, в котором находится токен для покупки или продажи. И пул, например, WETH/DAI, может иметь множество таких ticks.

Вот здесь можно почитать подробнее про оба этих принципа.

Статья 1, статья 2.

Ну, еще мне понравилась эта картинка для демонстрации.

Также, в процессе изучения ticks вы встретитесь с такими "монстрами", как tickSpacing и tick bitmap. В первом случае, это некий параметр для более эффективной итерации по тикам, во втором - специальная техника для индексации данных в компактном виде. Почитать подробнее можно в этих постах:

Про tickSpacing, иллюстрация tickSpacing, про tick bitmap.

Также, в Uniswap при минте токенов и при свапах вам потребуется реализовывать некоторые callback функции в своем контракте. Для этого стоит изучить данный пост.

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

Описание quoter контракта, которые помогает рассчитывать цены токенов на фронтенде, а также Multihop Swaps, которые помогают обменивать один токен на максимально возможное количество другого.

После всего пройденного, у меня остался всего один вопрос, на который я не смог найти ответа: зачем нужна функция snapshotCumulativesInside в контракте роутера? Если вы знаете ответ, прошу поделиться в комментариях.

Также буду раз, если поделитесь своими ссылками, которые проливают свет на работу Uniswap v3.

#uniswap
  • 👍 3
  • 🔥 1
More from @solidityset
  1. Oct 2, 2026Вторая сложность — как доказать, что установилось именно опубликованное. В первом варианте…
  2. Oct 2, 2026Задача с полуоткрытым кодом На днях, в процессе создания одного приложения, столкнулся с и…
  3. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  4. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  5. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  6. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →