
Реальний Київ | Украина

Україна Сейчас | УС: новини, політика

Україна Online: Новини | Політика

Труха⚡️Україна

Николаевский Ванёк

Реальна Війна | Україна | Новини

Лачен пише

Nairaland Pulse | News

Анатолий Шарий

Реальний Київ | Украина

Україна Сейчас | УС: новини, політика

Україна Online: Новини | Політика

Труха⚡️Україна

Николаевский Ванёк

Реальна Війна | Україна | Новини

Лачен пише

Nairaland Pulse | News

Анатолий Шарий

Реальний Київ | Украина

Україна Сейчас | УС: новини, політика

Україна Online: Новини | Політика

The Open Dev Blog
Тон макаки.
Исследуем проекты на тоне так глубоко, как только можно.
Просим указывать нас как первоисточник.
Contact: @rends_east, @therealmaloleg or @bazrov
Исследуем проекты на тоне так глубоко, как только можно.
Просим указывать нас как первоисточник.
Contact: @rends_east, @therealmaloleg or @bazrov
TGlist rating
0
0
TypePublic
Verification
Not verifiedTrust
Not trustedLocation
LanguageOther
Channel creation dateAug 11, 2024
Added to TGlist
Sep 22, 2024Linked chat
TO
The Open Dev Chat
18
Records
11.05.202516:32
688Subscribers05.05.202516:32
400Citation index13.09.202423:59
1.5KAverage views per post13.09.202423:59
1.5KAverage views per ad post13.05.202523:59
8.49%ER30.09.202423:59
573.73%ERRGrowth
Subscribers
Citation index
Avg views per post
Avg views per ad post
ER
ERR
09.05.202516:58
🔥 Мы пообщались с @kyouma из Ton Tech, чтобы выяснить подробности грядущего обновления TON, связанного с новой системой распределения контрактов по шардам.
Главной проблемой, которую и решали мы в @bidask, было то, что система распределения контрактов по шардам была строго детерминированной — брался хэш от state init, получался адрес контракта, и после этого по первым битам адреса определялось, в каком шарде будет контракт. Из-за этого все операции в TON были заметно дольше — ведь транзакция пользователя постоянно "прыгала" по шардам даже там, где это совершенно не нужно.
Решением для этого должны были стать anycast адреса. Не удивляйтесь, если ничего о них не слышали — они больше не поддерживаются. Это механизм, благодаря которому контракты могли делиться и соединяться вместе с шардами для распределения нагрузки на сеть.
На их основе даже был сделан DEX, позволяющий проводить обмены в рамках одного блока. Там не было использовано фишки со сплитом контрактов, просто были точки входа в DEX во всех шардах. Минусом такого подхода было деление ликвидности пар на все шарды и закономерное увеличение слипаджа. Немногие знают, но mainnet версия bidask, хоть и начала писаться до появления LUXNOX, во многом была вдохновлена именно этим решением. Мы следим за экосистемой 🤟
Как эту проблему решили?
Теперь в state init появился новый параметр — fixed_prefix_length. Он дает понять, какое количество бит в начале адреса при деплое можно перезаписать, чтобы контролировать, в какой шард пойдет контракт.
На счет обратной совместимости можно не переживать — на месте
При всей кажущейся простоте изменения это, конечно, открывает пространство для множества вещей. Первое, что приходит в голову — jetton, который создает jetton wallet всегда в 1 шарде с контрактом кошелька пользователя. Нам, как разработчикам, это еще вселяет надежду, что наконец кто-то займется обновлением стандарта jetton, который явно морально устарел.
Это сильно улучшит опыт взаимодействия с DeFi, ведь теперь протоколы могут контролировать ончейн, без брутфорса, что будут в 1 шарде. Не сразу, но это принесёт значимые плоды.
@TheOpenDevBlog
Главной проблемой, которую и решали мы в @bidask, было то, что система распределения контрактов по шардам была строго детерминированной — брался хэш от state init, получался адрес контракта, и после этого по первым битам адреса определялось, в каком шарде будет контракт. Из-за этого все операции в TON были заметно дольше — ведь транзакция пользователя постоянно "прыгала" по шардам даже там, где это совершенно не нужно.
Решением для этого должны были стать anycast адреса. Не удивляйтесь, если ничего о них не слышали — они больше не поддерживаются. Это механизм, благодаря которому контракты могли делиться и соединяться вместе с шардами для распределения нагрузки на сеть.
На их основе даже был сделан DEX, позволяющий проводить обмены в рамках одного блока. Там не было использовано фишки со сплитом контрактов, просто были точки входа в DEX во всех шардах. Минусом такого подхода было деление ликвидности пар на все шарды и закономерное увеличение слипаджа. Немногие знают, но mainnet версия bidask, хоть и начала писаться до появления LUXNOX, во многом была вдохновлена именно этим решением. Мы следим за экосистемой 🤟
Как эту проблему решили?
Теперь в state init появился новый параметр — fixed_prefix_length. Он дает понять, какое количество бит в начале адреса при деплое можно перезаписать, чтобы контролировать, в какой шард пойдет контракт.
На счет обратной совместимости можно не переживать — на месте
fixed_prefix_length
раньше был другой, по сути бесполезный параметр, связанный с anycast, поэтому с точки зрения построения state init ничего глобально не изменилось.При всей кажущейся простоте изменения это, конечно, открывает пространство для множества вещей. Первое, что приходит в голову — jetton, который создает jetton wallet всегда в 1 шарде с контрактом кошелька пользователя. Нам, как разработчикам, это еще вселяет надежду, что наконец кто-то займется обновлением стандарта jetton, который явно морально устарел.
Это сильно улучшит опыт взаимодействия с DeFi, ведь теперь протоколы могут контролировать ончейн, без брутфорса, что будут в 1 шарде. Не сразу, но это принесёт значимые плоды.
@TheOpenDevBlog
05.05.202512:05
🔥 Пока в TON, как обычно, происходит балаган, устроим себе пикник во время пира — расскажем про интересный, но уходящий от нас нюанс в разработке смарт контрактов на нашем любимом устаревшем отставшем от жизни и времени и всех конкурентов недоязыке программирования FunC.
В некоторых проектах может потребоваться проверить, что один адрес НЕ равен другому. Многие эту проблему решают очень просто:
Фатальная ошибка.
Нюанс кроется буквально в названии функции —
Дело в том, что в TON существует больше одного способа записать адрес в slice, чтобы он корректно считался
Что же делать? На самом деле, решение простое — кроме
Нюанс кажется местячковым, но олды знают и помнят, что именно благодаря нему в TON уже происходили взломы.
К сожалению или к счастью, addr_var очень скоро нас покинет. Наши репортеры и очевидцы из тестнета утверждают, что там он уже "пропал" 🫡🫡🫡
Крутая ироничная фраза.
@TheOpenDevBlog
В некоторых проектах может потребоваться проверить, что один адрес НЕ равен другому. Многие эту проблему решают очень просто:
ifnot (equal_slices(address1, address2))
Фатальная ошибка.
Нюанс кроется буквально в названии функции —
equal_slices
не проверяет равенство адресов, она проверяет равенство слайсов. Дело в том, что в TON существует больше одного способа записать адрес в slice, чтобы он корректно считался
~load_msg_addr
— addr_std и addr_var. Если записать адрес двумя разными способами, а потом считать, то получится два разных, не равных друг другу слайса, хотя адрес один.Что же делать? На самом деле, решение простое — кроме
equal_slices
также проверять, что длина адресов — 267 бит, ведь это длина addr_std.Нюанс кажется местячковым, но олды знают и помнят, что именно благодаря нему в TON уже происходили взломы.
К сожалению или к счастью, addr_var очень скоро нас покинет. Наши репортеры и очевидцы из тестнета утверждают, что там он уже "пропал" 🫡🫡🫡
Крутая ироничная фраза.
@TheOpenDevBlog
12.05.202509:32
🔥 GM
Подкиньте — какой у кого есть тулинг под FunC?
Пойдет что угодно. Го обмениваться опытом
Подкиньте — какой у кого есть тулинг под FunC?
Пойдет что угодно. Го обмениваться опытом
29.04.202513:27
🔥 Нас можно будет найти на Token 2049.
Наши контакты в био канала.
До встречи! 🌞
Наши контакты в био канала.
До встречи! 🌞
15.05.202510:29
🔥 Мы ищем контакты с трейдинг командами.
@bidask есть что предложить: мы быстрее, мы эффективнее, мы дешевле.
Мы готовы помочь с интеграцией, стратегиями, с чем угодно, что у вас вызывает трудности при интеграции нового DEX.
Считайте этот пост публичной рефералкой, мы будем крайне благодарны, если по вашей рекомендации или репосту к нам придет будущий партнер.
@bidask есть что предложить: мы быстрее, мы эффективнее, мы дешевле.
Мы готовы помочь с интеграцией, стратегиями, с чем угодно, что у вас вызывает трудности при интеграции нового DEX.
Считайте этот пост публичной рефералкой, мы будем крайне благодарны, если по вашей рекомендации или репосту к нам придет будущий партнер.
26.04.202516:44
🔥 Главная идея DEX с концентрированной ликвидностью — это эффективность использования капитала. Но что такое вообще эффективность капитала?
Проще всего её представить в контексте обычной модели Uniswap. Предположим, пользователь открывает позицию на $10к на пару ETH\USDT в пуле с LP fee 0.3% на средний диапазон (1500-2000). Спустя месяц количество заработанных комиссий у него составляет приблизительно $600 (реальные числа с revert.finance). Таким образом его капитал за месяц был использован для свапов на общую сумму равную
Если же зайти на любой CPMM DEX, то там капитал на любой аналогичной высоколиквидной паре за месяц будет использован точно в разы меньше.
Остаётся вопрос: как ещё можно увеличивать показатель эффективности капитала?
Первый вариант — это манипулирование уровнями комиссий в пуле. Например очевидно, что если комиссий вообще не будет (ни комиссий протокола, ни комиссий для провайдеров ликвидности) — то почти наверняка вырастут объёмы торгов и эффективность капитала как следствие (если забыть, что комиссий мы не получим 😀). Комиссии lp провайдеров убирать бессмысленно, а вот с комиссиями протокола разъяснять долго — есть очень подробный ресёрч при содействии Uniswap Foundation на эту тему. Существует также опция использования динамических комиссий, больше всего в этом преуспела Meteora на солане — и её успешный опыт мы активно перенимаем в @bidask.
Очень важной опцией является использование автоматического реинвестирования заработанных комиссий обратно в позицию ликвидности. Да, это работает само собой в любом CPMM DEX, однако для CLMM это редкость, хотя это дает ощутимый прирост к доходности.
Предположим, вы просто положили деньги в банк под 12% годовых. Если вы получаете их ровно раз в год, то ваша доходность за год будет составлять как раз 12%. Если же будете получать их каждый месяц и реинвестировать - доходность будет уже ~12.68%, если же реинвестирование будет происходить непрерывно то это уже ~12.74%. Формула для подсчета APY при непрерывном реинвестировании:
Казалось бы, разница не такая большая для 12% годовых, чтобы о ней думать. Однако если представить ситуацию, которая вполне возможна при поставке концентрированной ликвидности на достаточно широкий диапазон, что актуальная цена не вышла из него в течении года — это будут вполне реалистичные 20-30% годовых.
Для 30% годовых непрерывное реинвестирование комиссий приведёт уже к 35% годовым вместо 30%, к 64% вместо 50% без реинвестирования, и так далее.
Учитывая, что существуют киты, которые не так следят за IL, а лишь ждут, пока комиссии полностью не окупят вкладываемую ими ликвидность — подобный буст процентов доходности вполне может сократить годик-другой до цели в 100% ROI.
Над всем этим мы думали на старте разработки @bidask — и реализовали автоматическое реинвестирование комиссий. И даже у невероятно крутой Meteora, с которой нас принято сравнивать, такой киллер фичи нет — в этом мы круче.
Проще всего её представить в контексте обычной модели Uniswap. Предположим, пользователь открывает позицию на $10к на пару ETH\USDT в пуле с LP fee 0.3% на средний диапазон (1500-2000). Спустя месяц количество заработанных комиссий у него составляет приблизительно $600 (реальные числа с revert.finance). Таким образом его капитал за месяц был использован для свапов на общую сумму равную
600/0.003 = $200к
, то есть полностью 20 раз! Если же зайти на любой CPMM DEX, то там капитал на любой аналогичной высоколиквидной паре за месяц будет использован точно в разы меньше.
Остаётся вопрос: как ещё можно увеличивать показатель эффективности капитала?
Первый вариант — это манипулирование уровнями комиссий в пуле. Например очевидно, что если комиссий вообще не будет (ни комиссий протокола, ни комиссий для провайдеров ликвидности) — то почти наверняка вырастут объёмы торгов и эффективность капитала как следствие (если забыть, что комиссий мы не получим 😀). Комиссии lp провайдеров убирать бессмысленно, а вот с комиссиями протокола разъяснять долго — есть очень подробный ресёрч при содействии Uniswap Foundation на эту тему. Существует также опция использования динамических комиссий, больше всего в этом преуспела Meteora на солане — и её успешный опыт мы активно перенимаем в @bidask.
Очень важной опцией является использование автоматического реинвестирования заработанных комиссий обратно в позицию ликвидности. Да, это работает само собой в любом CPMM DEX, однако для CLMM это редкость, хотя это дает ощутимый прирост к доходности.
Предположим, вы просто положили деньги в банк под 12% годовых. Если вы получаете их ровно раз в год, то ваша доходность за год будет составлять как раз 12%. Если же будете получать их каждый месяц и реинвестировать - доходность будет уже ~12.68%, если же реинвестирование будет происходить непрерывно то это уже ~12.74%. Формула для подсчета APY при непрерывном реинвестировании:
e^APR - 1
. Казалось бы, разница не такая большая для 12% годовых, чтобы о ней думать. Однако если представить ситуацию, которая вполне возможна при поставке концентрированной ликвидности на достаточно широкий диапазон, что актуальная цена не вышла из него в течении года — это будут вполне реалистичные 20-30% годовых.
Для 30% годовых непрерывное реинвестирование комиссий приведёт уже к 35% годовым вместо 30%, к 64% вместо 50% без реинвестирования, и так далее.
Учитывая, что существуют киты, которые не так следят за IL, а лишь ждут, пока комиссии полностью не окупят вкладываемую ими ликвидность — подобный буст процентов доходности вполне может сократить годик-другой до цели в 100% ROI.
Над всем этим мы думали на старте разработки @bidask — и реализовали автоматическое реинвестирование комиссий. И даже у невероятно крутой Meteora, с которой нас принято сравнивать, такой киллер фичи нет — в этом мы круче.
Log in to unlock more functionality.