Comments 6
не понял зачем вы 100 раз написали про формулу
х*у = к
если ниразу не сказали что такое к , при этом в примере добавления токенов 1000 и 2000 которые являются насколько я понял х и у соответственно, вы получили 0.5 цену это же никак не соответствует этой формуле? и тогда причем тут k ?
Спасибо за вопрос.
Там в тексте есть информация по k
:
x
- 1000 - резерв eth
y
- 2000 - резерв токенов
k
- 2000000 - постоянное значение (константа) пары
В тексте описано 2 подхода: наивный и рабочий. В наивном подходе k
не используется, это её отличает от рабочего подхода.
Наивный подход.
Функция getPrice
принимает количество eth и количество токенов. Затем делит количество eth на количество токенов, таким образом можно понять ценообразование в этой паре. В этом случае k
не причём.
Рабочий подход.
Например функция getTokenAmount
отдаёт пользователю количество токенов в пропорциональном соотношении переданного пользователем eth. В своём теле функция запрашивает резерв токенов и использует постоянное значение - k
. Тепрь расчёт количества получаемых токенов за передаваемое количество eth выглядит так:
(количество_eth(1000) * количество_токенов(2000))
/
(постоянное_значение_k(2000000) + количество_eth(1000))
Огромное спасибо, хорошо расписано и с примерами, нехватало такого описания.
Интересные факты об Uniswap:
написан он обычным инженером, не разработчиком
оригинальный контракт имел всего пару сот строк кода (сейчас побольше, особенно в третьей версии)
ликвидность в пулах на более чем $6 млрд.
объем торгов на сотни миллионов долларов в день
А теперь представьте сколько человеко-часов потребовалось бы чтобы создать централизованный сервис с подобной безопасностью и надежностью которую в данном случае предоставляет блокчейн из коробки. Сколько времени и денег понадобилось на его раскрутку чтобы привлечь столько пользователей и денег со всего мира. Сколько часов переговоров с регуляторами и фин учреждениями каждой страны нужно было бы провести чтобы наладить ввод/вывод фиатных средств.
Вот вам и мощь блокчейна. Вот вам и мощь нейтивных интернет денег (криптовалюты и токены). Если у тебя есть крипто-кошелек, тебе открыты двери в блокчейн мир и во все сервисы использующие блокчейн в любой точки мира без СМС и регистрации.
Отличная статья, спасибо. Но нужно было бы определить понятие резервов.
Программирование DeFi: Uniswap. Часть 1