Прошлую неделю разбирался в Uniswap с точки зрения разработчика.
Лирическое отступление.После коллапса крупной криптобиржи FTX все больше говорят о том, что за децентрализованными прозрачными системами будущее. Uniswap – это децентрализованная биржа (DEX), которая позволяет обменивать один токен на другой, а инвесторам – зарабатывать, предоставляя ликвидность для обменов .
Чтобы в общих чертах понять, как работает механизм обмена (swap), мне хорошо помог юнисваповский AlphaRouter, который выдает оптимальные пути (route) обмена.
С точки зрения программиста, AlphaRouter работает просто: указываем параметры: сколько менять, какой входной/выходной токен, на какой кошелек отправляем, и тип сделки – EXACT_INPUT означает, что фиксируется входящий объем. Роутер функцией route выдает оптимальный, как он думает, путь обмена, который потом отправляется транзакцией в блокчейн, на смарт-контракт роутера, который и выполняет обмен.
Лирическое отступление.
Чтобы в общих чертах понять, как работает механизм обмена (swap), мне хорошо помог юнисваповский AlphaRouter, который выдает оптимальные пути (route) обмена.
С точки зрения программиста, AlphaRouter работает просто: указываем параметры: сколько менять, какой входной/выходной токен, на какой кошелек отправляем, и тип сделки – EXACT_INPUT означает, что фиксируется входящий объем. Роутер функцией route выдает оптимальный, как он думает, путь обмена, который потом отправляется транзакцией в блокчейн, на смарт-контракт роутера, который и выполняет обмен.
👍3
Я пользовался и особо не разбирался, что под капотом. А вот когда распечатал путь обмена 100 WETH на USDT (то есть кладем в пул ровно 100 WETH и вытаскиваем из пула сколько_получится USDT), то многое стало понятно.
В первом куске кода (картинка 1) сумма 100 WETH будет обмениваться единым целым (splits=1), и только в один обмен (swaps=1) (параметры maxSplits, maxSwapsPerPath). В результате роутер использует только один пул WETH-USDT напрямую. В результате мы получили 119 692,70 USDT (картинка 2).
Во втором куске кода (картинка 3) ограничений по maxSplits, maxSwapsPerPath нет. Результат на картинке 4. Роутер посчитал оптимальным разделить 100 WETH на 3 части (splits). 2 и 3 пути (routes) используют промежуточные токены USDC и DAI для обмена. В in, out можно видеть, сколько в каждом свопе (субсвопе?) передается WETH и сколько получается USDT (скрин 3). В итоге, в результате обмена пользователь получил 119 912,22 USDT (на 219 USDT больше, чем в примере 1).
В первом куске кода (картинка 1) сумма 100 WETH будет обмениваться единым целым (splits=1), и только в один обмен (swaps=1) (параметры maxSplits, maxSwapsPerPath). В результате роутер использует только один пул WETH-USDT напрямую. В результате мы получили 119 692,70 USDT (картинка 2).
Во втором куске кода (картинка 3) ограничений по maxSplits, maxSwapsPerPath нет. Результат на картинке 4. Роутер посчитал оптимальным разделить 100 WETH на 3 части (splits). 2 и 3 пути (routes) используют промежуточные токены USDC и DAI для обмена. В in, out можно видеть, сколько в каждом свопе (субсвопе?) передается WETH и сколько получается USDT (скрин 3). В итоге, в результате обмена пользователь получил 119 912,22 USDT (на 219 USDT больше, чем в примере 1).
👍5
Видно, как происходит исчерпание токена USDT в пуле WETH-USDT, и выгоднее становится работать через промежуточные токены, пулы WETH-USDC и WETH-DAI (poolAddrs – это адреса смарт-контрактов пулов, по которым можно открыть их в etherscan).
Для простоты я ограничил обмен только V2 пулами, которые дают худший курс обмена. V3 пулы работают более эффективно, но это тема отдельной, большой, статьи, которую планирую запилить на Хабр.
Ставьте лайки, пишите обратную связь, репост как всегда приветствуется.
UPD 21.12. Рабочий исходный код положил в Гитхаб.
Для простоты я ограничил обмен только V2 пулами, которые дают худший курс обмена. V3 пулы работают более эффективно, но это тема отдельной, большой, статьи, которую планирую запилить на Хабр.
Ставьте лайки, пишите обратную связь, репост как всегда приветствуется.
UPD 21.12. Рабочий исходный код положил в Гитхаб.
🔥1
На этой неделе Uniswap 🦄 подвел итоги очередной волны грантов (коротко, подробно), куда я в том числе подавался.
Всего было выделено $946k 19ти проектам в 4х категориях – развитие собственно протокола Uniswap (Protocol Growth), исследования (R&D), рост и развитие комьюнити Uniswap (Community Growth, различные курсы, конфы и семинары), управление (Governance Stewardship).
❗️ Мне, как разработчику, было наиболее интересно направление развития протокола. И что мы видим. Из 4х проектов по развитию протокола 3 улучшают работу с пулами ликвидности (Liquidity Pools) версии V3. Как для разработчика, так и для пользователей. Думаю, это значит, что концепт пулов ликвидности V3 (про который я как-нибудь отдельно напишу) оказался достаточно сложным, и потребует еще немало улучшений и доработок.
🪙 Максимальный размер гранта – $250k (дан на разработку курса по Solidity), а минимальный – $500 (выдан на написание блог поста о деталях работы позиций пулов ликвидности). В целом, не ожидал такого diversity, так что подаваться можно почти с любой темой, имеющей ценность. Даже с блогпостом 🔥
А еще, канал уходит на каникулы до следующего года 🏝🌲 Всех поздравляю с наступающим 2023им и желаю здоровья, добра и мира.
Всего было выделено $946k 19ти проектам в 4х категориях – развитие собственно протокола Uniswap (Protocol Growth), исследования (R&D), рост и развитие комьюнити Uniswap (Community Growth, различные курсы, конфы и семинары), управление (Governance Stewardship).
❗️ Мне, как разработчику, было наиболее интересно направление развития протокола. И что мы видим. Из 4х проектов по развитию протокола 3 улучшают работу с пулами ликвидности (Liquidity Pools) версии V3. Как для разработчика, так и для пользователей. Думаю, это значит, что концепт пулов ликвидности V3 (про который я как-нибудь отдельно напишу) оказался достаточно сложным, и потребует еще немало улучшений и доработок.
🪙 Максимальный размер гранта – $250k (дан на разработку курса по Solidity), а минимальный – $500 (выдан на написание блог поста о деталях работы позиций пулов ликвидности). В целом, не ожидал такого diversity, так что подаваться можно почти с любой темой, имеющей ценность. Даже с блогпостом 🔥
А еще, канал уходит на каникулы до следующего года 🏝🌲 Всех поздравляю с наступающим 2023им и желаю здоровья, добра и мира.
👍6🔥4
Привет из 2023го! Надеюсь, все уже вливаются в рабочий режим.
Для разгона подготовил вам материал о том, как в децентрализованных биржах (DEXы) определяются цены активов. Глобально есть два подхода.
Первый и самый традиционный – биржевой "стакан" (orderbook), который используют централизованные биржи, только децентрализованный, на блокчейне. Примеры: биржа Loopring. Их минус – проблемы с ликвидностью (т.е. что делать, когда нет продавцов). В таком случае выручают маркет мейкеры, то есть те, кто торгуют с целью заработка, боты.
Второй подход – автоматические маркет мейкеры (AMM), где "стакан" не используется, а вместо маркет мейкеров используются алгоритмы на блокчейне (отсюда automated, то есть участие внешних акторов не требуется).
Есть два способа, как AMM определяет цену актива:
– Вычисляет цену (Price discovery). Цена определяется алгоритмом, например, функцией постоянного произведения (constant product). Я приводил простой пример для Uniswap V2.
– Оракулы цены (Price Oracle). Это когда внешний сервис периодически отправляет значения цены "из реального мира" (например, с других бирж) в блокчейн, которая потом используется AMMом.
Какие бывают типы алгоритмов AMM:
1. Постоянное произведение (constant product, CPMM), когда для токенов A и B в пуле поддерживается их постоянное произведение x*y=k, ранее приводил пример из Uniswap V2.
2. Постоянная сумма (constant sum, CSMM) – простая линейная связь между двумя токенами. Хорошо подходит для стейблкоинов (со связью почти 1 к 1), whitepaper StableSwap. Также коэффициент может внедряться с помощью оракула цен.
3. Гибридная модель, когда сочетаются CPMM и CSMM в разных комбинациях и с разными коэффициентами для обеспечения ликвидности по широкому диапазону цен. Один из примеров исследований (осторожно, много матана).
4. Концентрированная ликвидность (concentrated liquidity). Алгоритм, который был создан Uniswap в версии V3. Провайдеры ликвидности (люди, которые хотят заработать) предоставляют ликвидность (активы) в определенном интервале цен. В каждом интервале цена актива высчитывается как в Uniswap V2. Такой подход решает проблему,
В Твиттере нашел наглядную картинку, как менялась ликвидность пары ETH/USDC на Uniswap V3 в 2021-2022 гг. Обратите внимание, что график доступной ликвидности становится кусочно-ломаным. Ликвидность эффективно работает в ограниченном диапазоне, без ухода в ноль или бесконечность.
@web3dev_notes
Для разгона подготовил вам материал о том, как в децентрализованных биржах (DEXы) определяются цены активов. Глобально есть два подхода.
Первый и самый традиционный – биржевой "стакан" (orderbook), который используют централизованные биржи, только децентрализованный, на блокчейне. Примеры: биржа Loopring. Их минус – проблемы с ликвидностью (т.е. что делать, когда нет продавцов). В таком случае выручают маркет мейкеры, то есть те, кто торгуют с целью заработка, боты.
Второй подход – автоматические маркет мейкеры (AMM), где "стакан" не используется, а вместо маркет мейкеров используются алгоритмы на блокчейне (отсюда automated, то есть участие внешних акторов не требуется).
Есть два способа, как AMM определяет цену актива:
– Вычисляет цену (Price discovery). Цена определяется алгоритмом, например, функцией постоянного произведения (constant product). Я приводил простой пример для Uniswap V2.
– Оракулы цены (Price Oracle). Это когда внешний сервис периодически отправляет значения цены "из реального мира" (например, с других бирж) в блокчейн, которая потом используется AMMом.
Какие бывают типы алгоритмов AMM:
1. Постоянное произведение (constant product, CPMM), когда для токенов A и B в пуле поддерживается их постоянное произведение x*y=k, ранее приводил пример из Uniswap V2.
2. Постоянная сумма (constant sum, CSMM) – простая линейная связь между двумя токенами. Хорошо подходит для стейблкоинов (со связью почти 1 к 1), whitepaper StableSwap. Также коэффициент может внедряться с помощью оракула цен.
3. Гибридная модель, когда сочетаются CPMM и CSMM в разных комбинациях и с разными коэффициентами для обеспечения ликвидности по широкому диапазону цен. Один из примеров исследований (осторожно, много матана).
4. Концентрированная ликвидность (concentrated liquidity). Алгоритм, который был создан Uniswap в версии V3. Провайдеры ликвидности (люди, которые хотят заработать) предоставляют ликвидность (активы) в определенном интервале цен. В каждом интервале цена актива высчитывается как в Uniswap V2. Такой подход решает проблему,
В Твиттере нашел наглядную картинку, как менялась ликвидность пары ETH/USDC на Uniswap V3 в 2021-2022 гг. Обратите внимание, что график доступной ликвидности становится кусочно-ломаным. Ликвидность эффективно работает в ограниченном диапазоне, без ухода в ноль или бесконечность.
@web3dev_notes
👍2
Есть такая платформа блокчейн-аналитики Dune, с помощью которой можно дергать разноообразную статистику из блокчейна. В декабре в коллаборации с Uniswap они запустили курс 12DaysOfDune, в котором я решил поучаствовать (начал, правда, уже в 2023).
Пока закончил 4 задания из 12ти. По результатам планирую написать подробную статью. А пока делюсь основными моментами.
Dune – по сути, это набор таблиц с данными из блокчейна (поддерживаются Ethereum-сети и неделю назад добавили BTC), к которым можно делать запросы на SQL, извлекать данные и строить таблицы/графики.
Таблицы бывают нескольких типов:
1. Raw (сырые данные) – транзакции, события, трейсы (traces) – самый нижний уровень данных блокчейна.
2. Decoded (декодированные) – созданные на основе сырых данных для более понятного представления, например uniswap_v3_ethereum.Pair_evt_Swap – таблица с событиями Swap пар Uniswap (то есть можно понять, когда был сделан обмен).
3. Spellbooks – еще более высокоуровневые таблицы, которые заполняются периодически запускаемыми процессами. Например, это dex.prices, куда высчитываются и помещаются данные по ценам токенам на биржах.
4. Community (сделанные сообществом) – таблицы от других провайдеров.
5. User-generated (пользовательские) – в принципе, любые открытые запросы (queries), созданные на платформе, которые можно использовать в своих запросах.
В общем, довольно продвинутая штука. Можно строить графики по результатам данных, есть базовый редактор дэшбордов.
Есть, конечно, и минусы:
– Время выполнения запросов пока оставляет желать лучшего, но эта проблема активно решается переходом на новый движок.
– Платформа относительно низкоуровневая, нужно глубоко разбираться в деталях работы смарт-контрактов (типа отфильтровать определенные вызовы функций с параметрами), чтобы понять, что происходит. Возможно, spellbooks через какое-то время решат проблему, но я бы добавил больше их.
– Не слишком (пока) развитый редактор.
В целом, рекомендую к использованию, если хотите дернуть статистику относительно удобно.
P.S. Если кто-то есть в Твиттере, то в своем я выкладываю решения по каждому дню и в целом пишу чаще, подписывайтесь.
Пока закончил 4 задания из 12ти. По результатам планирую написать подробную статью. А пока делюсь основными моментами.
Dune – по сути, это набор таблиц с данными из блокчейна (поддерживаются Ethereum-сети и неделю назад добавили BTC), к которым можно делать запросы на SQL, извлекать данные и строить таблицы/графики.
Таблицы бывают нескольких типов:
1. Raw (сырые данные) – транзакции, события, трейсы (traces) – самый нижний уровень данных блокчейна.
2. Decoded (декодированные) – созданные на основе сырых данных для более понятного представления, например uniswap_v3_ethereum.Pair_evt_Swap – таблица с событиями Swap пар Uniswap (то есть можно понять, когда был сделан обмен).
3. Spellbooks – еще более высокоуровневые таблицы, которые заполняются периодически запускаемыми процессами. Например, это dex.prices, куда высчитываются и помещаются данные по ценам токенам на биржах.
4. Community (сделанные сообществом) – таблицы от других провайдеров.
5. User-generated (пользовательские) – в принципе, любые открытые запросы (queries), созданные на платформе, которые можно использовать в своих запросах.
В общем, довольно продвинутая штука. Можно строить графики по результатам данных, есть базовый редактор дэшбордов.
Есть, конечно, и минусы:
– Время выполнения запросов пока оставляет желать лучшего, но эта проблема активно решается переходом на новый движок.
– Платформа относительно низкоуровневая, нужно глубоко разбираться в деталях работы смарт-контрактов (типа отфильтровать определенные вызовы функций с параметрами), чтобы понять, что происходит. Возможно, spellbooks через какое-то время решат проблему, но я бы добавил больше их.
– Не слишком (пока) развитый редактор.
В целом, рекомендую к использованию, если хотите дернуть статистику относительно удобно.
P.S. Если кто-то есть в Твиттере, то в своем я выкладываю решения по каждому дню и в целом пишу чаще, подписывайтесь.
👍2
В качестве примера статистики приложил картинку с примерным графиком объема и количества обменов MEV (боты) и "обычных" для пула USDC-WETH.
👍3❤1
Вирусный тред в твиттере
На днях мой пост в крипто Твиттер впервые получил какой-то трекшен. Расскажу, как это было.
На неделе в Uniswap был найдена особенность, которая может привести к потере средств при обмене.
Вот алгоритм потери средств при обмене:
1. Транзакция 1 (пользователь):
1.1 Обмен ETH на другой токен.
1.2 В некоторых случаях неиспользованный объем ETH остается в SwapRouter (смарт-контракт, который делает обмен).
2. Транзакция 2 (другой пользователь или MEV бот):
2.1 Снимает средства, вызывая refundETH у SwapRouter.
Uniswap ответил, что это не баг, и нужно вызывать refundETH самостоятельно в одной транзакции вот так:
1. Транзакция 1 (multicall):
1.1. Пользователь меняет ETH на другой токен.
1.2 Неиспользованный объем ETH остается в SwapRouter
1.3 Вызывается refundETH, который возвращает средства обратно на кошелек.
1.4 В конце транзакции SwapRouter пустой.
Но проблема в том, что это (a) не везде документировано, и (b) в принципе возможность забыть сделать вызов 1.3 выглядит так себе дизайном.
Возвращаясь к треду. В нем я представил первый вариант расчета, сколько заработали MEV боты, мониторящие обмены и вызывающие refundETH. Построил график заработанного ботами на Mainnet. Не так много, но тут не учтены еще некоторые случаи, так что общий объем неверно ушедших средств гораздо больше. Детали расчета и исходный код запросов в моем блоге (англ).
Это и вызвало интерес публики, в том числе автора баг-репорта. Вывод? Делай то, что людям интересно.
На днях мой пост в крипто Твиттер впервые получил какой-то трекшен. Расскажу, как это было.
На неделе в Uniswap был найдена особенность, которая может привести к потере средств при обмене.
Вот алгоритм потери средств при обмене:
1. Транзакция 1 (пользователь):
1.1 Обмен ETH на другой токен.
1.2 В некоторых случаях неиспользованный объем ETH остается в SwapRouter (смарт-контракт, который делает обмен).
2. Транзакция 2 (другой пользователь или MEV бот):
2.1 Снимает средства, вызывая refundETH у SwapRouter.
Uniswap ответил, что это не баг, и нужно вызывать refundETH самостоятельно в одной транзакции вот так:
1. Транзакция 1 (multicall):
1.1. Пользователь меняет ETH на другой токен.
1.2 Неиспользованный объем ETH остается в SwapRouter
1.3 Вызывается refundETH, который возвращает средства обратно на кошелек.
1.4 В конце транзакции SwapRouter пустой.
Но проблема в том, что это (a) не везде документировано, и (b) в принципе возможность забыть сделать вызов 1.3 выглядит так себе дизайном.
Возвращаясь к треду. В нем я представил первый вариант расчета, сколько заработали MEV боты, мониторящие обмены и вызывающие refundETH. Построил график заработанного ботами на Mainnet. Не так много, но тут не учтены еще некоторые случаи, так что общий объем неверно ушедших средств гораздо больше. Детали расчета и исходный код запросов в моем блоге (англ).
Это и вызвало интерес публики, в том числе автора баг-репорта. Вывод? Делай то, что людям интересно.
👍1
Делал запросы к Dune. Запрос “дернуть транзакцию по хэшу”:
SELECT *
FROM ethereum.transactions
WHERE hash = 0x…
занимает несколько минут.
Потом в дискорде подсказали, что нужно включать block_number (взять из etherscan):
SELECT *
FROM ethereum.transactions
WHERE hash = 0x…
AND block_number = 123
и тогда запрос выполняется секунды. Причина?
В Dune данные хранятся в паркетном формате (гибрид построчного и поколоночного способов). Что обеспечивает как относительно быстрое агрегирование (сумму по колонке удобнее вычислить, когда данные по колонкам сгруппированы), так и поиск по определенному условию (например, по block_number во втором запросе). В поиске есть доп оптимизация – для каждой группы строк (row group) хранится максимальное и минимальное значение колонки, что позволяет быстро "пролистывать" те группы, не соответствующие критерию (см. картинку).
Хэши транзакций, т.к. они равномерно случайно сгенерированы, эффективно использоваться в max/min не могут.
Подробнее про паркет тут и тут
SELECT *
FROM ethereum.transactions
WHERE hash = 0x…
занимает несколько минут.
Потом в дискорде подсказали, что нужно включать block_number (взять из etherscan):
SELECT *
FROM ethereum.transactions
WHERE hash = 0x…
AND block_number = 123
и тогда запрос выполняется секунды. Причина?
В Dune данные хранятся в паркетном формате (гибрид построчного и поколоночного способов). Что обеспечивает как относительно быстрое агрегирование (сумму по колонке удобнее вычислить, когда данные по колонкам сгруппированы), так и поиск по определенному условию (например, по block_number во втором запросе). В поиске есть доп оптимизация – для каждой группы строк (row group) хранится максимальное и минимальное значение колонки, что позволяет быстро "пролистывать" те группы, не соответствующие критерию (см. картинку).
Хэши транзакций, т.к. они равномерно случайно сгенерированы, эффективно использоваться в max/min не могут.
Подробнее про паркет тут и тут
👍5
Очередная волна Wish list Grants от Uniswap
Uniswap выкатывает интересные им проекты, и команды/разработчики могут подаваться для реализации проекта в заданном бюджете.
Всего проектов пять. Два наиболее интересных с моей точки зрения:
LP Actions Open Source Library (бюджет $55K)
Требуется разработать опенсорс-библиотеку, которая будет упрощать задачу предоставления ликвидности и "вытаскивания" ликвидности из пулов. Сейчас, чтобы предоставить ликвидность в пул нужно: (а) посчитать на внешнем сервисе, сколько токенов предоставить (б) поменять нужное кол-во, чтобы они лежали в кошельке (с) "загрузить" ликвидность в пул. Предлагается это сделать одной командой (и в одной транзакции), и одним входным токеном. Также просят сделать простой UI. Аналогично со снятием.
LP Tax Tool (бюджет $25-35K)
Требуется разработать инструмент (UI) для расчета налоговой базы при работе с пулами ликвидности. То есть вы можете заработать прибыль, и нужен инструмент, чтобы удобно отчитаться в налоговые US, EU.
Также есть два контентных проекта и один исследовательский.
Смотрите, подавайтесь. Дедлайн до 20 февраля.
Upd. Мне нравится LP Actions Open Source Library, если кому-то тоже, то можно подумать насчёт создания огненной команды.
@web3dev_notes
Uniswap выкатывает интересные им проекты, и команды/разработчики могут подаваться для реализации проекта в заданном бюджете.
Всего проектов пять. Два наиболее интересных с моей точки зрения:
LP Actions Open Source Library (бюджет $55K)
Требуется разработать опенсорс-библиотеку, которая будет упрощать задачу предоставления ликвидности и "вытаскивания" ликвидности из пулов. Сейчас, чтобы предоставить ликвидность в пул нужно: (а) посчитать на внешнем сервисе, сколько токенов предоставить (б) поменять нужное кол-во, чтобы они лежали в кошельке (с) "загрузить" ликвидность в пул. Предлагается это сделать одной командой (и в одной транзакции), и одним входным токеном. Также просят сделать простой UI. Аналогично со снятием.
LP Tax Tool (бюджет $25-35K)
Требуется разработать инструмент (UI) для расчета налоговой базы при работе с пулами ликвидности. То есть вы можете заработать прибыль, и нужен инструмент, чтобы удобно отчитаться в налоговые US, EU.
Также есть два контентных проекта и один исследовательский.
Смотрите, подавайтесь. Дедлайн до 20 февраля.
Upd. Мне нравится LP Actions Open Source Library, если кому-то тоже, то можно подумать насчёт создания огненной команды.
@web3dev_notes
👍1🔥1
На прошлой неделе опубликовал статью на Хабре про Dune. Главное изменение по сравнению с постом – даны решения 5ти задач 12DaysOfDune.
Бекстейжд:
1. Начал проходить курс. А что такого, всего 12 дней (заданий). За пару часов с каждым справлюсь, я же опытный программист.
2. Первые три задания сделал, потратив полный день на каждое. Четвертое делал два дня. Пятое – четыре дня.
3. Решаю заканчивать с курсом, т.к. тратить полмесяца на оставшиеся задания не хочется. Да, освою чуть лучше Dune и копну в ликвидность Uniswap, но по 20/80 это будет оставшиеся 20% результата в плане саморазвития.
В сухом остатке – 5 заданий, найдено 2 бага в авторских решениях, 1 баг в данных, возникла 1 идея проекта: Chrome расширение, которое будет упрощать написание Dune-запросов. Его киллер-фича – в коде запроса можно установить курсор на таблицу и в момент посмотреть ее структуру и пример данных 🔥 Думаю, через пару недель будет релиз.
Если есть идеи, чего не хватает в редакторе – добро пожаловать в комментарии.
Бекстейжд:
1. Начал проходить курс. А что такого, всего 12 дней (заданий). За пару часов с каждым справлюсь, я же опытный программист.
2. Первые три задания сделал, потратив полный день на каждое. Четвертое делал два дня. Пятое – четыре дня.
3. Решаю заканчивать с курсом, т.к. тратить полмесяца на оставшиеся задания не хочется. Да, освою чуть лучше Dune и копну в ликвидность Uniswap, но по 20/80 это будет оставшиеся 20% результата в плане саморазвития.
В сухом остатке – 5 заданий, найдено 2 бага в авторских решениях, 1 баг в данных, возникла 1 идея проекта: Chrome расширение, которое будет упрощать написание Dune-запросов. Его киллер-фича – в коде запроса можно установить курсор на таблицу и в момент посмотреть ее структуру и пример данных 🔥 Думаю, через пару недель будет релиз.
Если есть идеи, чего не хватает в редакторе – добро пожаловать в комментарии.
👍3
Последний месяц занимаюсь web2 разработкой – пишу расширение для Dune. React, TypeScript, верстка. Это мой первый проект на таком стеке, поэтому много открытий чудных сделал (и еще много впереди, подозреваю, хотя после массива с длиной N, не содержащего элементов, я ко всему готов). Скоро релиз, а пока давайте про web3 немного напишу.
Попался вчера хороший твит с аналитикой по веб3 проектам, которые получили финансирование в феврале 2023 в США.
Всего за февраль были профинансированы 77 проектов, а тут выжимка 8 самых интересных, по мнению автора. Давайте расскажу одной строкой про каждый проект:
1. Renegade ($3.4M) – криптобиржа/протокол, чтобы люди могли торговать анонимно, не раскрывая детали сделок. Сейчас, в традиционных DEXах типа Uniswap, детали торгов видны всем (без привязки к конкретной личности, но все же), что открывает возможности для фронтраннинга, влияния на чужие транзакции.
2. Huma Finance ($8.3M) – DeFi протокол для займов, где оценка основана на заработке человека/бизнеса. Традиционная практика кредитных организаций – понять источники дохода заемщика, чтобы оценить риски и сколько можно дать взаймы. Тут предлагается сделать то же самое, но для крипты, в т.ч. включив крипто источники заработка.
3. Ether.fi ($5.3M) – протокол LSD, где ключи остаются у стейкеров. LSD (liquid staking derivatives) – производный финансовый инструмент. Предположим, вы занимаетесь стейкингом – предоставляете токены, чтобы зарабатывать пассивный доход. Ваши токены залочены, но если вдруг вам срочно понадобились средства, то LSD – это производные токены, выпущенные под обеспечение ваших залоченных, которыми можно торговать.
4. Kaito ($5.3) – аналог ChatGPT, чтобы можно было делать запросы применительно к крипте. С информацией из таких источников как Twitter, Discord, форумы и тд. Думаю, полезное начинание, если отладят обучение на актуальных данных, т.к. крипто сообщество очень живое.
5. Minogames ($15M) – гейм-студия. Просто гейм-студия с web3 играми 🙂
6. Sesamelabs ($4.5M) – маркетинговая платформа для web3 проектов, включающая управление кампаниями, рекламную сеть, CRM. Из интересного – ончейн аналитика по пользователям.
7. SpaceIDProtocol ($10M) – протокол для управления web3 доменными именами из разных сетей на одной платформе. Можно регистрировать, управлять свои домены, торговать на встроенном маркетплейсе.
8. Phi.xyz ($2M seed) – игровые квесты для вовлечения людей в web3. Игра, в которой вам предлагается, например, купить NFT, поменять токены один на другой, зарегистрировать домен. Классная, кстати, штука, сам бы попробовал.
Надеюсь, резюме было полезно. Мне такая информация точно помогает держать руку на пульсе рынка.
Попался вчера хороший твит с аналитикой по веб3 проектам, которые получили финансирование в феврале 2023 в США.
Всего за февраль были профинансированы 77 проектов, а тут выжимка 8 самых интересных, по мнению автора. Давайте расскажу одной строкой про каждый проект:
1. Renegade ($3.4M) – криптобиржа/протокол, чтобы люди могли торговать анонимно, не раскрывая детали сделок. Сейчас, в традиционных DEXах типа Uniswap, детали торгов видны всем (без привязки к конкретной личности, но все же), что открывает возможности для фронтраннинга, влияния на чужие транзакции.
2. Huma Finance ($8.3M) – DeFi протокол для займов, где оценка основана на заработке человека/бизнеса. Традиционная практика кредитных организаций – понять источники дохода заемщика, чтобы оценить риски и сколько можно дать взаймы. Тут предлагается сделать то же самое, но для крипты, в т.ч. включив крипто источники заработка.
3. Ether.fi ($5.3M) – протокол LSD, где ключи остаются у стейкеров. LSD (liquid staking derivatives) – производный финансовый инструмент. Предположим, вы занимаетесь стейкингом – предоставляете токены, чтобы зарабатывать пассивный доход. Ваши токены залочены, но если вдруг вам срочно понадобились средства, то LSD – это производные токены, выпущенные под обеспечение ваших залоченных, которыми можно торговать.
4. Kaito ($5.3) – аналог ChatGPT, чтобы можно было делать запросы применительно к крипте. С информацией из таких источников как Twitter, Discord, форумы и тд. Думаю, полезное начинание, если отладят обучение на актуальных данных, т.к. крипто сообщество очень живое.
5. Minogames ($15M) – гейм-студия. Просто гейм-студия с web3 играми 🙂
6. Sesamelabs ($4.5M) – маркетинговая платформа для web3 проектов, включающая управление кампаниями, рекламную сеть, CRM. Из интересного – ончейн аналитика по пользователям.
7. SpaceIDProtocol ($10M) – протокол для управления web3 доменными именами из разных сетей на одной платформе. Можно регистрировать, управлять свои домены, торговать на встроенном маркетплейсе.
8. Phi.xyz ($2M seed) – игровые квесты для вовлечения людей в web3. Игра, в которой вам предлагается, например, купить NFT, поменять токены один на другой, зарегистрировать домен. Классная, кстати, штука, сам бы попробовал.
Надеюсь, резюме было полезно. Мне такая информация точно помогает держать руку на пульсе рынка.
🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера зарелизил Web3 Wizard Helper Chrome расширение для Dune 🥳🥳🥳
Для деталей, если вы веб3 аналитик данных – будет полезно видео и тред в тви.
Бекстейдж и результаты на утро 10 марта:
– Разработка заняла ровно 4 недели (20 дней) фул-тайм работы.
– По времени: 1я неделя – PoC, проверка, что данные по таблицам можно получить, авторизация. 2я неделя – первая работающая версия с версткой, схемой таблицы. 3я неделя – превью данных, попап страница, логгинг, доработки для "реальной жизни". 4я – инструмент поиска сигнатур, правка багов, подготовка к релизу (видео/материалы).
С учетом, что это мой первый серьезный проект на стеке React + Webpack + верстка – нормально.
– В твиттере 11 репостов, 70 лайков, +22 фолловера, хороший фидбек от юзеров, включая Dune CTO и Head of Engineering.
– По количеству установок пока статистики нет.
Что дальше? Наверное, лучше всего будет сделать расширение опенсорсным и оставить его развиваться самостоятельно. Пока прикрутил донаты через крипту, но пока никто денег не прислал 😀 В плане функционала – имеет смысл добавлять новые инструменты, типа поиска по keccak256 сигнатуре метода (то, что прикрутил через API https://www.4byte.directory/). Будем смотреть на трудозатраты и дальнейший фидбек.
Happy data hacking! 🧙♂️
Для деталей, если вы веб3 аналитик данных – будет полезно видео и тред в тви.
Бекстейдж и результаты на утро 10 марта:
– Разработка заняла ровно 4 недели (20 дней) фул-тайм работы.
– По времени: 1я неделя – PoC, проверка, что данные по таблицам можно получить, авторизация. 2я неделя – первая работающая версия с версткой, схемой таблицы. 3я неделя – превью данных, попап страница, логгинг, доработки для "реальной жизни". 4я – инструмент поиска сигнатур, правка багов, подготовка к релизу (видео/материалы).
С учетом, что это мой первый серьезный проект на стеке React + Webpack + верстка – нормально.
– В твиттере 11 репостов, 70 лайков, +22 фолловера, хороший фидбек от юзеров, включая Dune CTO и Head of Engineering.
– По количеству установок пока статистики нет.
Что дальше? Наверное, лучше всего будет сделать расширение опенсорсным и оставить его развиваться самостоятельно. Пока прикрутил донаты через крипту, но пока никто денег не прислал 😀 В плане функционала – имеет смысл добавлять новые инструменты, типа поиска по keccak256 сигнатуре метода (то, что прикрутил через API https://www.4byte.directory/). Будем смотреть на трудозатраты и дальнейший фидбек.
Happy data hacking! 🧙♂️
🔥12❤1👍1
Мой первый open source
Открыл исходный код расширения для Dune.
Интересные чувства, когда потратил месяц своего времени, и шаришь это для сообщества. Посмотрим, как будет (и будет ли) развиваться дальше. Вижу возможное развитие в плане добавление новых тулзов, которые удобно иметь под рукой во время написания запросов. Как пример – поиск по keccak256 сигнатуре метода (сейчас реализован) – когда работаешь с ethereum.traces – полезная штука.
Были мысли добавить AI помощника на GPT-4, но, как будто, ценности большой нет в том, что он будет прямо в Dune окне (можно же переключаться на окно рядом, чтобы задать вопрос).
Еще за неделю сделал:
– Чтобы работало в полноэкранном режиме.
– Для read-only queries (например, из этого списка топ-запросов Dune).
Спасибо сообществу за добрые слова и мотивацию. Движемся дальше, к другому проекту 🚀
Открыл исходный код расширения для Dune.
Интересные чувства, когда потратил месяц своего времени, и шаришь это для сообщества. Посмотрим, как будет (и будет ли) развиваться дальше. Вижу возможное развитие в плане добавление новых тулзов, которые удобно иметь под рукой во время написания запросов. Как пример – поиск по keccak256 сигнатуре метода (сейчас реализован) – когда работаешь с ethereum.traces – полезная штука.
Были мысли добавить AI помощника на GPT-4, но, как будто, ценности большой нет в том, что он будет прямо в Dune окне (можно же переключаться на окно рядом, чтобы задать вопрос).
Еще за неделю сделал:
– Чтобы работало в полноэкранном режиме.
– Для read-only queries (например, из этого списка топ-запросов Dune).
Спасибо сообществу за добрые слова и мотивацию. Движемся дальше, к другому проекту 🚀
👍7🔥2