Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области.
Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него.
"Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!"
Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее.
Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то.
С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше.
Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс.
В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков.
#dev
🚨 1inch: Investment Fund 0x225D sold 11K $ETH to 20.78M $DAI and 191K $USDT at $1,906 ($20.97M) after removing 13.7K $ETH from liquidity pools on Uniswap 14 hours ago.
➡️ This is the first time that 1inch ever sold $ETH away from this address.
➡️ Currently, address 0x225D holds 238 $ETH in its wallet and stakes 3.02K $ETH with #Uniswap
👉 Address: 0x225d3822de44e58ee935440e0c0b829c4232086e
🚨🚨 Terraform Labs just swapped 2M $LDO for 4.155M $USDT (avg price of $2.07) via #uniswap 4 hours ago.
It got 20M $LDO in Dec 2020 from LDO team as an early investor of $LDO.
Today's transaction is the last $LDO tokens, in total, they got $41.733M for 20M $LDO.
Address link: https://etherscan.io/token/0x5a98fcbea516cf06857215779fd812ca3bef1b32?a=0x447f95026107aaed7472a0470931e689f51e0e42
🔥 Some smart traders bought tokens before the dump, will they make money this time?
- machibigbrother bought 10,000 $APE (at avg $5.29) 8 hours ago via #Uniswap then staked them, current price $5.09
- “0xad6e" got 450,758 $DYDX (at $2.8) 11 hours ago from @binance, current price $2.53
👉 More details and their wallets: https://twitter.com/spotonchain/status/1623892984273195013?s=20&t=InUYoum0w7g4rwotuPn_cQ
This giant whale keeps accumulating $ETH despite unrealized loss!
In the past 5 days, whale 0x435 allegedly bought 41,338 $ETH ($125M) via #Binance and #Uniswap at an avg price of $3,030.
Now, the whale holds 117,268 $ETH ($353M) with an est. total loss of $19.4M (-4.8%).
Note that the whale once dumped 10K $ETH before so follow @spotonchain and set alerts for the whale now to see if the whale will keep accumulating or dump the tokens soon via https://platform.spotonchain.ai/en/profile?address=0x43594da5d6a03b2137a04df5685805c676def7cb
We're going to be featured in the BNB Chain's Twitter Spaces today at 1 PM UTC, alongside THENA! 👽
Join us as we discuss Integral's modular architecture, V4 plugins (aka hooks as presented by #Uniswap), the #BNB hackathon & much more: https://twitter.com/i/spaces/1lPKqbAYWoMGb?s=20.
🦄#Uniswap Labs (а именно их CEO Hayden) включил комиссию в обход Uniswap DAO неделю назад. Давайте же взглянем на итоговые цифры нового бизнес юнита в #DeFi.
- За неделю заработано ~$385K / В день околок ~$50к / В год ~$20M
- Сайтом Uniswap.org (там где и включили комиссии) пользуется всего 2.9% трейдеров
- 85% приходится на сеть Ethereum, 10% - сеть Арбитрум. Все остальные сети практически не используются.
🔗 Реал-тайм статистика
Whale 0x803 (linked to “rektdolphin.eth”) has been steadily accumulating 211.6B $PEPE (now $1.72M) in the past 24 hours, as the price surged back by 17%!
Notably, the whale:
• accumulated PEPE from #Binance, #Gateio, and #Uniswap at ~$0.000007291 (est. cost: $1.54M), now making $173K (+11%) in unrealized profit;
• last withdrew $PEPE only an hour ago and may continue accumulating more tokens.
Follow @spotonchain and set alerts for the whale at https://platform.spotonchain.ai/en/profile?address=0x803c21672a2d3c512bda8c0337dff9a850dd669d
🦄❗️❗️❗️Откровения про Uniswap DAO, Uniswap DEX и UNI токен. Почему у этой экосистемы печальное будущее.#аналитика#мнение
—| Часть 2 |—
🔵Что с протоколом Uniswap?
За всю историю #Uniswap было выпущено три версии протокола и недавно объявили о запуске новой четвертой версии. Главная инновация Uniswap команды - это концентрированная ликвидность, которая вывела на новый уровень эффективность он-чейн свопов и позволила зарабатывать ликвидити провайдерам хорошие доходности.
Однако запуск столь эффективного Uniswap v3 три года назад не спровоцировал приток всей рыночной ликвидности в этот протокол. До сих пор капитал равномерно распределенмеждуUniswap v2 и Uniswap v3.
Несмотря на огромное число грантов от Uniswap Foundation на Uniswap v3 фактически не появилось никаких полезных надстроек или решений, мы не увидели ни фармингов (как это было на в2), ни левереджа на ликвидность, ни лимитных ордеров. Единственные решения, которые я считаю удачными - это запуск нескольких протоколов для активного управления ликвидность в Uniswap v3, да и то они сейчас в самом зачатке.
В новой же версии Uniswap v4 минимальные обновления и вообще нет никакой полезности для ликвидности, поэтому приток капитала в новый протокол может занять годы.
🔵Что с токеномикой UNI токена?
Всего у UNI 355.000 токен холдеров.
По токеномике $UNI - это governance токен, то есть токен который дает право голосовать за предложения сообщества по управлению протоколом.
Еще в Uniswap протоколе есть параметр fee switch который должен часть торговой комиссии отправлять в UNI treasury.
Сообщества уже несколько раз обсуждала и даже голосовало за включение такой комиссии в протоколе, но принятое сообществом предложение НЕ было исполнено Uniswap командой, по юридическим причинам. Это сделало бы токен UNI - секьюрити, и необходимо было бы облагать налогами такой доход с протокола. В текущей регуляции в США это невозможно.
К тому, что пользователи UNI не могут получать доход со своего протокола, так еще и в новой версии Uniswap v4 фактически эта функция не будет работать.
🔵Какие прогнозы на токен UNI:
Капитализация UNI по СМС = $3,000,000,000
Сейчас в циркуляции находятся токенов на $3,989,931,559 !
Но какова же реальная капитализация, исходя из текущей ликвидности токена? Не сложно посчитать продав все токены $UNI на всех дексах и цексах и получим ~ $10,000,000 пара пара пам 🤡
$10,000,000 - такая реальная стоимость и капитализация всего Uniswap протокола и UNI токена, протокола прокачивающего 1 млрд долларов объема в день, ну и столько получат инвесторы, если сегодня начнут продавать свои токены.
Текущие информационные наративы (как запуск Uniswap v4) не влияют на цену токена, а постоянные вливания новых UNI в гранты еще больше закапывают его. 🦄
🦄❗️❗️❗️Откровения про Uniswap DAO, Uniswap DEX и UNI токен. Почему у этой экосистемы печальное будущее. #аналитика#мнение
—| Часть 1 |—
#Uniswap является основным и самым популярной децентрализованной биржей с одной из самых больших ликвидностей (TVL) на рынке. Давайте вместе пройдемся по основным вопросам и сделаем выводы относительно будущего развития этого протокола.
🔵Что с ликвидностью?
Единственное, что делает протокол устойчивым к конкурентам - это его TVL, ликвидность, которая лежит в пуллах протокола на нескольких сетях составляет $4 млрд. и ежедневный торговый объем около $1 млрд. (source DeFiLlama)
Однако, если посмотреть глубже в аналитику, то можно заметить что 90% TVL предоставлено несколькими десятками фондов и китов, остальные 5% это протоколы поддерживающие свою ликвидность и 1% это профессиональные менеджеры активов. Реальных физиков торгующих в плюс ликвидность на Uniswap очень мало, во многом из-за сложности данного процесса.
🔵Что с UNI Governance (DAO)?
Децентрализованная организация Uniswap устроена таким образом, что управляется в основном десятком делегатов (консультанты и американские университеты), поставленных туда крупными фондами/инвесторами протокола. Напрямую крупные инвесторы UNI токена не участвуют в управлении протоколом (видимо по юридическим причинам или отсутствии экспертизы в протоколах).
Все решения, которые доходят до он-чейн голосования, обычно принимаются единогласно, так как они проходят достаточно долгий процесс согласований на уровне Uniswap Foundation.
Команда Uniswap НЕ принимает никакого участия в DAO, ее даже нет на дискорде Uniswap сообщества, который ведется отдельно нанятой командой комьюнити менеджеров.
Uniswap Governance может влиять только на 3 пункта:
- Установка комиссий за свопы в протоколе. За все время приняли только одно предложение о введении нового типа пулла с комиссией 0.01% для стейблкоинов, чтобы конкурировать с crv.
- Вывод протокола на новые блокчейны. По сути такие предложения создают и реализуют сами блокчейны, никакого профита для самого UNI тут нет, да и многие принятые предложения не были реализованы, так как не нашлось технической команды для выполнения.
- Распределение UNI Treasury. По факту использовался только один раз, чтобы передать часть средств на гранты для Uniswap Foundation.
😂 Для создания он-чейн предложения требуется 13 млн. долларов, а для его принятия $200 млн., что согласитесь, является очевидным барьером для вмешательства в работу закрытого DAO.
Недавно, мне удалось сделатьсвое предложение по выводу Uniswap v3 на сеть BNB chain и в итоге победить в голосовании и реализовать это предложение. Процесс был очень интересным и увлекательным, затронув все централизованные струны этой системы, как-нибудь напишу о нем статейку для истории).
Uniswap DAO может только управлять протоколом, вебсайт Uniswap.org и функционал на нем строго принадлежит команде Uniswap и поддерживается только ей. То есть даже выводя Uniswap протокол на новую сеть, только core команда Uniswap будет решать хочет ли она его поддержать на своем сайте или нет. Кстати именно по этому на их сайте вы можете найти всевозможные трекеры активности пользователей, черные списки активов, запрещенные кошельки и страны (полный децентралайз).
🤔