<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Nikitcudi</title><generator>teletype.in</generator><description><![CDATA[Nikitcudi]]></description><image><url>https://img3.teletype.in/files/a6/97/a6975eae-e31b-44b5-b642-eca73b0032b0.png</url><title>Nikitcudi</title><link>https://teletype.in/@nikitcudi</link></image><link>https://teletype.in/@nikitcudi?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/nikitcudi?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/nikitcudi?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 28 Jul 2026 16:49:46 GMT</pubDate><lastBuildDate>Tue, 28 Jul 2026 16:49:46 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@nikitcudi/kXVAyiw_ZdE</guid><link>https://teletype.in/@nikitcudi/kXVAyiw_ZdE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi</link><comments>https://teletype.in/@nikitcudi/kXVAyiw_ZdE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi#comments</comments><dc:creator>nikitcudi</dc:creator><title>Скрытая стоимость DeFi: кто реально окупает свои награды для юзеров?</title><pubDate>Sun, 24 May 2026 16:26:48 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/48/6e/486e39d4-fba5-4c12-9845-37ee8b7daf4b.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/df/44/df446770-ee7e-48f1-9182-84c2b22c1ec4.png"></img>В DeFi награды часто воспринимаются как нормальный инструмент роста: протоколы выпускают токены, раздают их тех, кто провайдит ликвидность, привлекают новую ликвидность, увеличивают TVL и получают прибыль. Но у этой модели есть скрытая стоимость — будущая эмиссия.]]></description><content:encoded><![CDATA[
  <nav>
    <ul>
      <li class="m_level_1"><a href="#vpxO">1. Краткий обзор каждого проекта + текущие рыночные данные (по состоянию на ~20 мая 2026)</a></li>
      <li class="m_level_1"><a href="#30t7"></a></li>
      <li class="m_level_1"><a href="#bXMf">2. Расчёт стоимость будущих incentives для LP (горизонт 6 лет)</a></li>
      <li class="m_level_1"><a href="#AiCi"></a></li>
      <li class="m_level_1"><a href="#fBI3">3. Базовая годовая выручка (апрель 2025 – апрель 2026)</a></li>
      <li class="m_level_2"><a href="#zJUR"></a></li>
      <li class="m_level_1"><a href="#5VUz">4. Расчёты Total Revenue (r) за период май 2026 – май 2032 (6 лет)</a></li>
      <li class="m_level_2"><a href="#Lern"></a></li>
      <li class="m_level_1"><a href="#MPOB">5. Сравнение r vs i</a></li>
      <li class="m_level_2"><a href="#xO9M"></a></li>
      <li class="m_level_1"><a href="#z9DA">6. Выводы</a></li>
      <li class="m_level_2"><a href="#hc9A"></a></li>
      <li class="m_level_1"><a href="#2I38">Моё личное мнение + выводы</a></li>
    </ul>
  </nav>
  <p id="KPlW">В DeFi награды часто воспринимаются как нормальный инструмент роста: протоколы выпускают токены, раздают их тех, кто провайдит ликвидность, привлекают новую ликвидность, увеличивают TVL и получают прибыль. Но у этой модели есть скрытая стоимость — будущая эмиссия.</p>
  <p id="90Kp">В этой статье я сравниваю Aerodrome, Pendle и Curve через простую логику: сколько протоколы потратят на будущие LP награды и сколько выроучки они смогут сгенерировать за тот же период.</p>
  <p id="B2hj">Главный вопрос: <strong>окупаются ли награды за счёт выручки протокола или рост покупается слишком дорого? </strong></p>
  <p id="mgSh"></p>
  <h2 id="vpxO">1. Краткий обзор каждого проекта + текущие рыночные данные (по состоянию на ~20 мая 2026)</h2>
  <ul id="Aewv">
    <li id="kmoO"><strong>Aerodrome Finance (AERO)</strong>: DEX на Base с veAERO-моделью.</li>
    <ul id="xOpX">
      <li id="E3pP">Цена: <strong>$0.4101</strong>. </li>
      <li id="A4Ux">MCAP: <strong>$384 млн</strong>. </li>
      <li id="OXIH">FDV: <strong>$779 млн</strong>. </li>
      <li id="waXB">Circulating supply: <strong>937 млн</strong>. </li>
      <li id="4Toe">Total supply: <strong>1.90 млрд</strong> (инфляционная модель, без жёсткого cap).</li>
    </ul>
    <li id="jaiA"><strong>Pendle Finance (PENDLE)</strong>: Протокол токенизации yield (YT/PT) с sPENDLE моделью. </li>
    <ul id="gSBh">
      <li id="UwPC">Цена: <strong>$1.76</strong>. </li>
      <li id="7cbw">MCAP: <strong>$300 млн</strong>. </li>
      <li id="jlDC">FDV: <strong>$495 млн</strong>. </li>
      <li id="Z2lX">Circulating supply: <strong>170 млн</strong>. </li>
      <li id="vB99">Total supply: <strong>282 млн</strong> (инфляция ≈ 2% годовых, <strong>max supply отсутствует</strong>).</li>
    </ul>
    <li id="MIuh"><strong>Curve Finance (CRV)</strong>: DEX + crvUSD, veCRV модель.</li>
    <ul id="RNaE">
      <li id="gZXz">Цена: <strong>$0.2386</strong>. </li>
      <li id="Zs9e">MCAP: <strong>$360 млн</strong>. </li>
      <li id="PKe0">FDV: <strong>$723 млн</strong>.<br />Circulating supply: <strong>1.5 млрд</strong>. </li>
      <li id="BGAy">Total supply: <strong>2.38 млрд</strong>. </li>
      <li id="yFNP">Max supply: <strong>3.03 млрд</strong>.</li>
    </ul>
  </ul>
  <hr />
  <h2 id="30t7"></h2>
  <h2 id="bXMf">2. Расчёт стоимость будущих incentives для LP (горизонт 6 лет)</h2>
  <p id="z98k">Мы считаем <strong>стоимость только будущих</strong> токенов наград, которые будут выпущены примерно за следующие 6 лет (май 2026 – май 2032). Это делает сравнение с revenue корректным.</p>
  <p id="GkTP"><strong>AERO</strong><br />Нет hard cap. Эмиссия ≈ 11–12% годовых.<br />За 6 лет будет выпущено ≈ <strong>1.853 млрд</strong> новых токенов.</p>
  <ul id="ja3G">
    <li id="oBhT"><strong>i_AERO = 830 млн USD</strong>.</li>
  </ul>
  <p id="vGZe"><strong>PENDLE</strong><br />За следующие 6 лет при 2% инфляции будет выпущено примерно <strong>35.58 млн</strong> новых токенов (расчёт: 282M × ((1.02)^6 − 1) ≈ 12.616%).</p>
  <ul id="asUG">
    <li id="AbYm"><strong>i_PENDLE = 35.58 млн × $1.76 ≈ 63 млн USD</strong>.</li>
  </ul>
  <p id="fTkj"><strong>CRV</strong><br />Осталось выпустить ≈ <strong>0.65 млрд CRV</strong>.<br />С учётом снижающейся эмиссии (~15.9% в год) за следующие 6 лет будет выпущено примерно <strong>430 млн CRV</strong>.</p>
  <ul id="4Vyb">
    <li id="iT5J"><strong>i_CRV = 430 млн × $0.236 ≈ 101 млн USD</strong>.</li>
  </ul>
  <p id="NCk2"><strong>Финальные значения i (будущие награды за ~6 лет):</strong></p>
  <ul id="8Q5W">
    <li id="7wne"><strong>i_AERO = 830 млн USD</strong></li>
    <li id="3M3n"><strong>i_PENDLE = 63 млн USD</strong></li>
    <li id="1zvP"><strong>i_CRV = 101 млн USD</strong></li>
  </ul>
  <hr />
  <h2 id="AiCi"></h2>
  <h2 id="fBI3">3. Базовая годовая выручка (апрель 2025 – апрель 2026)</h2>
  <p id="UpSy">Данные DefiLlama (gross protocol revenue):</p>
  <ul id="82em">
    <li id="ktRG"><strong>AERO</strong>: $142 млн (R_AERO)</li>
    <li id="UwkI"><strong>PENDLE</strong>: $28 млн (R_PENDLE)</li>
    <li id="V2j4"><strong>CRV</strong>: $55 млн (R_CRV)</li>
  </ul>
  <hr />
  <h3 id="zJUR"></h3>
  <h2 id="5VUz">4. Расчёты Total Revenue (r) за период май 2026 – май 2032 (6 лет)</h2>
  <p id="4xgH">Сценарии начинаются 20 мая 2026. В течение первого года (май 2026 – май 2027) revenue меняется <strong>линейно</strong> от текущего уровня R до целевого уровня сценария. Затем следует 5 лет плато на целевом уровне.<br /><strong>r считается за весь период (переходный год + 5 лет плато)</strong>.</p>
  <p id="0kiP"><strong>Переходный год (май 2026 – май 2027):</strong></p>
  <ul id="Sr5K">
    <li id="rKGD">Constant: среднее = R → <strong>R</strong></li>
    <li id="jA3l">Growth: линейно от R до 2R → среднее <strong>1.5R</strong></li>
    <li id="1AUC">Decline: линейно от R до 0.5R → среднее <strong>0.75R</strong></li>
  </ul>
  <p id="hDyZ"><strong>Плато 5 лет (май 2027 – май 2032):</strong></p>
  <ul id="T7pP">
    <li id="MgLE">Constant: 5 × R</li>
    <li id="Avxh">Growth: 5 × 2R = 10R</li>
    <li id="62xZ">Decline: 5 × 0.5R = 2.5R</li>
  </ul>
  <p id="rvwF"><strong>Итого r за 6 лет:</strong></p>
  <p id="b848"><strong>AERO (R = 142 млн)</strong></p>
  <ul id="N0qN">
    <li id="Or1T">Constant: R + 5R = <strong>6R = 852 млн</strong></li>
    <li id="dklt">Growth: 1.5R + 10R = <strong>11.5R = 1 633 млн</strong></li>
    <li id="XXTD">Decline: 0.75R + 2.5R = <strong>3.25R = 461.5 млн</strong></li>
  </ul>
  <p id="tmHf"><strong>PENDLE (R = 28 млн)</strong></p>
  <ul id="83ne">
    <li id="yyHn">Constant: <strong>168 млн</strong></li>
    <li id="o3fd">Growth: <strong>322 млн</strong></li>
    <li id="2DUm">Decline: <strong>91 млн</strong></li>
  </ul>
  <p id="yCpo"><strong>CRV (R = 55 млн)</strong></p>
  <ul id="uNOZ">
    <li id="XwkS">Constant: <strong>330 млн</strong></li>
    <li id="4sCZ">Growth: <strong>632.5 млн</strong></li>
    <li id="weCD">Decline: <strong>178.75 млн</strong></li>
  </ul>
  <hr />
  <h3 id="Lern"></h3>
  <h2 id="MPOB">5. Сравнение r vs i</h2>
  <p id="psED">Значения указаны в млн USD</p>
  <figure id="hJi8" class="m_custom">
    <img src="https://img2.teletype.in/files/14/89/14892fcb-4be0-4caf-924e-8ce8248116ea.png" width="1009.9579242636745" />
    <figcaption>Окупаются ли будущие LP награды за счет будущей выручки протокола</figcaption>
  </figure>
  <hr />
  <h3 id="xO9M"></h3>
  <h2 id="z9DA">6. Выводы</h2>
  <p id="EYe0"><strong>1. Окупятся ли incentives для LP за счёт revenue протокола?</strong></p>
  <ul id="czJK">
    <li id="MjOo"><strong>AERO</strong>: Окупается в сценариях <strong>Constant</strong> и <strong>Growth</strong>. В Decline — не окупается.</li>
    <li id="jCvL"><strong>PENDLE</strong>: <strong>Окупается во всех трёх сценариях</strong> (даже в Decline с запасом +28 млн). Низкая terminal inflation 2% делает будущие incentives очень дешёвыми.</li>
    <li id="8a2o"><strong>CRV</strong>: <strong>Окупается во всех трёх сценариях</strong>, причём с большим запасом даже в Decline.</li>
  </ul>
  <p id="Rqrv"><strong>2. Насколько привлекательны incentives в каждом сценарии?</strong></p>
  <ul id="5v37">
    <li id="6mwi"><strong>AERO</strong>: Incentives остаются самыми дорогими. Окупаются только при сохранении текущего уровня revenue или его росте. Требует дальнейшего снижения эмиссии и высокого % локов в veAERO.</li>
    <li id="liYx"><strong>PENDLE</strong>: Теперь incentives <strong>очень привлекательные</strong> во всех сценариях. Низкая terminal inflation делает токеномику предсказуемой и дешёвой с точки зрения будущей раздачи. Даже в Decline протокол за 6 лет заработает больше, чем раздаст.</li>
    <li id="xOUc"><strong>CRV</strong>: Incentives сейчас <strong>самые выгодные</strong> среди трёх проектов. Благодаря жёсткому cap и низкой текущей эмиссии даже в сценарии сокращения выручки, протокол за 6 лет заработает заметно больше, чем раздаст в новых токенах. Самый большой запас прочности.</li>
  </ul>
  <p id="yvYO"><strong>3. Общий вердикт</strong><br />При текущих уровнях revenue и исправленных расчётах:</p>
  <ul id="PYdX">
    <li id="A4Tw"><strong>CRV</strong> — наиболее устойчивая и привлекательная токеномика с точки зрения incentives vs revenue (максимальный запас во всех сценариях).</li>
    <li id="KmMz"><strong>PENDLE</strong> — очень сильный вариант. Низкая terminal inflation 2% делает будущие затраты на incentives минимальными. Окупается даже в при падении.</li>
    <li id="gtLb"><strong>AERO</strong> — приемлемо в Constant и Growth, но чувствительно к снижению выручки. Требует продолжения снижения эмиссии и/или роста TVL и fees.</li>
  </ul>
  <p id="SgWm"><strong>Итоговые выводы</strong></p>
  <ul id="h0SR">
    <li id="aiXK"><strong>CRV</strong> — лучший выбор с точки зрения баланса наград и генерируемой выручки (наибольший запас прочности).</li>
    <li id="pKz8"><strong>PENDLE</strong> — отличный второй выбор. Низкая будущая инфляция делает награды одними из самых дешёвых среди сравниваемых проектов.</li>
    <li id="8ack"><strong>AERO</strong> — имеет потенциал, но только при продолжении снижения эмиссии и/или росте выручки. Наиболее чувствителен к негативному сценарию.</li>
  </ul>
  <hr />
  <h3 id="hc9A"></h3>
  <h2 id="2I38">Моё личное мнение + выводы</h2>
  <p id="mAmi"><strong>CRV</strong> — не лучший выбор.<br />В ближайшие 6 лет на EVM рынке будет существовать большая тройка DEX. Это будет Uniswap, Aerodrome и Fluid. Не знаю, будет ли Curve, в общем, развиваться, угасать или находиться на плато, но думаю, что относительно конкурентов они будут угасать.</p>
  <p id="2R0W"><strong>PENDLE</strong> — лучший вариант.<br />Pendle это системный игрок. Они уже настолько ассоциируются с tokenized future yield, что я не могу представить, как кто-то появляется и начинает на равных конкурировать. Хотя, Fluid пример такого игрока в другом секторе. Но гораздо более важно, что tokenized future yield — это продукт, который получит сравнительно больше Value от развития yield bearing RWA, чем DEX.</p>
  <p id="rlN5">Думаете в yield bearing real estate RWA будут большие объёмы на DEX? Нет, это недвижимость — её покупают, чтобы держать в портфеле годы.</p>
  <p id="2OtK">А вот спекулировать на tokenized future yield of yield bearing RWA будут активно.</p>
  <ul id="VrMF">
    <li id="SaPG">Покупатели yield bearing real estate RWA - это конкретная группа клиентов.</li>
    <li id="tgNn">Спекулянты tokenized future yield of yield bearing real estate RWA - это совершенно другая группа клиентов.</li>
  </ul>
  <p id="AVNQ">Пересечение там, на глаз, будет 30-40%. Но это даже не особенно важно.</p>
  <p id="ppGv">Важно то, что И первые И вторые будут генерировать торговые объёмы для Pendle, И, ни первые ни вторые не будут генерировать объёмы для DEX.</p>
  <p id="haVz"><strong>AERO</strong> — второй лучший выбор, но только для belivers (как я).<br />Я верю в то, что Aerodrome будут принимать очень сильные, эффективные бизнес решения. Они это делали с самого начала, сейчас активно продолжают. Я вижу силу и наличие видения в команде Aerodrome.</p>
  <p id="CRQQ">Поэтому я надеюсь, что эмиссия с годами будет снижаться до уровня 2-6%, при этом Revenue будет расти. Они уже демонстрируют снижение эмиссии. Есть тренд. Я думаю тренд продолжиться. Вот вам наглядная демонстрация позитивного сценария для Aerodrome в цифрах:</p>
  <ul id="1u76">
    <li id="lvEs">Эмиссия с мая 2026 до мая 2028 линейно снизится с 12% годовых до 4% годовых</li>
    <li id="4MUo">Revenue с мая 2026 до мая 2028 линейно увеличится в 1,5 раза</li>
    <li id="TP5A">С мая 2028 года плато до 2032 года.</li>
  </ul>
  <figure id="ogs4" class="m_custom">
    <img src="https://img1.teletype.in/files/c3/89/c3896485-1f05-40ee-ac50-19de3244895b.png" width="782" />
  </figure>
  <p id="wH7F">i был <strong>830</strong>, а стал <strong>284</strong>. И это вполне реалистичный вариант. Pendle это демонстрирует.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@nikitcudi/GwPBkZyTg_T</guid><link>https://teletype.in/@nikitcudi/GwPBkZyTg_T?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi</link><comments>https://teletype.in/@nikitcudi/GwPBkZyTg_T?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi#comments</comments><dc:creator>nikitcudi</dc:creator><title>veAERO Lending Market - Teaser</title><pubDate>Wed, 29 Apr 2026 16:18:28 GMT</pubDate><description><![CDATA[<img src="https://img1.teletype.in/files/8d/af/8dafcf02-5ca5-4421-923e-0fb125812e61.jpeg"></img>Я взял в долг 1500 USDC под залог своих veAERO стоимостью $2000. И, получаю 20% APR на свои veAERO]]></description><content:encoded><![CDATA[
  <p id="1JqD">Представьте, что вы сможете взять в долг 1500 USDC под залог своих veAERO стоимостью $2000. И, эти veAERO ещё и будут приносить вам 20% APR в USDC, как в недавно ушедшем в приватный режим Autopilot. </p>
  <h3 id="xKKT" data-align="center">Мы сделаем это для вас. 25 мая 2026. </h3>
  <hr />
  <p id="VZJy">Сейчас я опишу вам MVP, но самое интересное будет в Post-MVP. </p>
  <h3 id="M0Gs"><strong>MVP</strong></h3>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <ol id="GsGV">
      <li id="N0wE">Пользователи n вносят на сервис свои veAERO NFT.</li>
      <li id="krOX">Мы распоряжаемся этими veAERO NFT словно обычный пользователь. Копируем veAERO Maxi. Конвертим награды в USDC. Для пользователя это выглядит, как недавно ушедший в приватный режим Autopilot — он получает ~20% APR в USDC на свои veAERO.</li>
      <li id="gcjS">Интегрируем рынок [Vexy](https://defillama.com/protocol/vexy) для проведения ликвидаций. Текущей плотности ликвидности достаточно для TVL $50 000. Мы выставляем лимит $10 000. Больше, на стадии MVP не хочется брать. </li>
      <li id="L7If">Пользователи x вносят USDC на сторону supply, получают hardcode 9% APR. </li>
      <li id="QAfK">Пользователи n берут в долг USDC, которые внесли пользователи x под залог своих veAERO NFT. </li>
      <li id="PFOP">veAERO NFT пользователей n каждую Aerodrome эпоху получают доход, который конвертируется в USDC и становится доступен для получения.</li>
    </ol>
  </section>
  <p id="5m5V"><strong>Неделю спустя:</strong></p>
  <ul id="wORi">
    <li id="DLp9">Мы сами и наши знакомые энтузиасты пользуются сервисом. </li>
    <li id="XHbs">Теперь у нас есть рабочая DeFi апка, трек рекорд реального использования.</li>
  </ul>
  <p id="snPh"><strong>Значит нужно делать по красоте:</strong></p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <ol id="wdmT">
      <li id="w207">Управлять каждой NFT отдельно — это полумера/костыль. Гораздо круче было бы получить разрешение от Aerodrome на создание собственного Relayer, чтобы мы могли делать merge/unmerge NFT. </li>
      <li id="ccuo">Vexy конечно классный сервис, но хотелось бы иметь возможность собрать TVL $1m+. С vexy этого не выйдет. Здесь нам пригодится Aerodrome Momentum Fund.<br /><em>Momentum Fund это собственный фонд Aerodrome с дохуярдом veAERO, который только и делает, что накапливает доход от veAERO и покупает AERO.<br /><br /></em><strong>Так мы к ним придём и скажем:</strong><br />«Кенты дорогие. Вы вообще красавчики, респект за то, что делаете. А давайте вы будете делать всё тоже самое, только частично через нашу инфру? Кайф же. Вы и Aerodrome экосистему поддержите, разовьёте, и будете в автономном режиме покупать veAERO по самым вкусным ценам на просадках во время ликвидаций.<br />Одни плюсы. Жесткий win-win. Выделите на эту инициативу 5% Momentum Fund, для начала, и вы увидите пользу.»</li>
      <li id="5Bo3">Копировать veAERO Maxi конечно удобно, но круче было бы иметь собственную программу для автоматического голосования.</li>
    </ol>
  </section>
  <hr />
  <p id="6tkX">В течении Post MVP фазы мы выполняем эти задачи. Я надеюсь, что Aerodrome пойдут нам на встречу, раз у нас будет работающая DeFi апка и пользователи, пускай даже каждый зашёл на маленькую сумму просто на респекте. </p>
  <p id="9mWW"><strong>И вот, мы получаем продукт в конце Post MVP стадии</strong></p>
  <section style="background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <ol id="C829">
      <li id="HCWl">Пользователи n вносят на сервис свои veAERO NFT.</li>
      <li id="Hwvh">Мы направляем эти veAERO NFT в собственный Relayer. Делаем для пользователей 20% APR в USDC на их veAERO.</li>
      <li id="Sp7N">Для ликвидаций у нас существует хранилище с USDC, которые нам выделяет Momentum Fund. Объём этого хранилища частично определяет лимит для займов.<br />Рынок Vexy существует, как второй путь для ликвидаций. </li>
      <li id="TM71">Пользователи x вносят USDC на сторону supply, получают hardcode 9% APR. </li>
      <li id="vQXR">Пользователи n берут в долг USDC, которые внесли пользователи x под залог своих veAERO NFT. </li>
      <li id="mnaD">veAERO NFT пользователей n каждую Aerodrome эпоху получают доход, который конвертируется в USDC и становится доступен для получения.</li>
    </ol>
  </section>
  <p id="kUPz"><br />Дальнейших вариантов развития событий весьма много, так-же много, как вещей, которые необходимо улучшить после post-mvp стадии. Но сначала я скажу пару слов насчёт крупного обновления Aerodrome, запланированного на июль 2026.<br />Многие шарящие читатели могли подумать:</p>
  <blockquote id="cEA7">— Зачем же ты делаешь это сейчас, ведь уже скоро всё фундаментально измениться?</blockquote>
  <p id="bDdC"><strong>И я скажу:</strong></p>
  <blockquote id="w6OZ">— Да, я понимаю, что нам придётся билдить всё заного после обновления, но — это не повод ждать, и вот почему:</blockquote>
  <ul id="tWEB">
    <li id="2CQi">Никто не гарантирует, что обновление произойдёт в июле 2026, как было анонсировано, а мы, как дураки будем ждать у моря погоды. </li>
    <li id="Ycw5">К июлю мы уже можем закончить Post-MVP стадию. Значит будем иметь трек рекорд, поддержу Aerodrome, и все связи необходимые для развития сервиса.<br />Переписать техническую инфраструктуру под новые условия — это задача. Всё, что приобретено за время работы — ценный ресурс на накопление которого необходимо пару месяцев. </li>
  </ul>
  <p id="O83R">По итогу, если билдить сейчас к июлю у нас уже будет развивающийся сервис. После обновления мы потрудимся неделю — две, перейдём на новые рельсы, и продолжим свой путь.<br />А если будем ждать у моря погоды, то запустим MVP, в лучшем случае, в августе.<br />Разница на лицо. </p>
  <h3 id="QwrS"><br />Все подробности разработки и DeFi заметки в моём <a href="https://t.me/NikitaH8fake" target="_blank">тг канале</a><br /></h3>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@nikitcudi/parsing</guid><link>https://teletype.in/@nikitcudi/parsing?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi</link><comments>https://teletype.in/@nikitcudi/parsing?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=nikitcudi#comments</comments><dc:creator>nikitcudi</dc:creator><title>Парсинг цен на крипту в google таблицы</title><pubDate>Sun, 22 Dec 2024 10:52:05 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7b/39/7b392213-1cb2-402b-be84-73d3fdcfc8ee.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/17/b8/17b8f6f3-36a1-4197-a94c-9177196970ac.png"></img>Для начала, регаемся на CoinMarketCup. После, по логину и паролю CoinMarketCup заходим на CoinMarketCup Pro, для настоящих Pro, Max, X, 5G, no rekt криптанов. Там будет заветный API ключик, который можно скопировать из рамки со звёздочками. Он пригодиться нам позже.]]></description><content:encoded><![CDATA[
  <p id="H4Bt">Для начала, регаемся на <a href="https://coinmarketcap.com" target="_blank">CoinMarketCup</a>. После, по логину и паролю CoinMarketCup заходим на <a href="https://pro.coinmarketcap.com/" target="_blank">CoinMarketCup Pro</a>, для настоящих Pro, Max, X, 5G, no rekt криптанов. Там будет заветный API ключик, который можно скопировать из рамки со звёздочками. Он пригодиться нам позже.</p>
  <figure id="7w7r" class="m_column">
    <img src="https://img2.teletype.in/files/17/b8/17b8f6f3-36a1-4197-a94c-9177196970ac.png" width="1920" />
  </figure>
  <p id="y1Sk">Теперь открываем табличку с нашим портфелем на 100x. Ищем вкладку &quot;Расширения&quot; и пункт &quot;Apps Script&quot;. Открываем</p>
  <figure id="THKx" class="m_column">
    <img src="https://img3.teletype.in/files/e1/25/e1252729-95e8-41a4-a620-2d1a392beea0.png" width="1920" />
  </figure>
  <p id="6iMl">Вы увидите это - ваш будущий скрипт.</p>
  <figure id="o8qT" class="m_column">
    <img src="https://img4.teletype.in/files/7d/45/7d45db4f-9fb3-405b-bb60-c1279e38b85e.png" width="1920" />
  </figure>
  <p id="ptL6">Копируем код ниже и вставляем в скрипт. </p>
  <pre id="6iMl" data-lang="javascript">
var cachedData = {}; // Кэш для хранения данных
var cacheTimestamp = null; // Время последнего обновления кэша
var CACHE_EXPIRATION_MINUTES = 60; // Время жизни кэша (в минутах)

function fetchCryptoData(symbols, convert) {
  var url = &#x60;https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=${symbols.join(&quot;,&quot;)}&amp;convert=${convert}&#x60;;
  var options = {
    &quot;method&quot;: &quot;get&quot;,
    &quot;headers&quot;: {
      &quot;X-CMC_PRO_API_KEY&quot;: &quot;СЮДА ВСТАВЬТЕ ВАШ API КЛЮЧ&quot; // Укажите ваш API-ключ
    }
  };

  try {
    var response = UrlFetchApp.fetch(url, options);
    var json = JSON.parse(response.getContentText());
    return json.data;
  } catch (e) {
    throw new Error(&quot;Ошибка загрузки данных: &quot; + e.message);
  }
}

function fetchSymbolsFromSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&quot;СЮДА ВСТАВЬТЕ НАЗВАНИЕ ЛИСТА&quot;); // Укажите ваш лист
  if (!sheet) {
    throw new Error(&quot;Указанный лист &#x27;СЮДА ВСТАВЬТЕ НАЗВАНИЕ ЛИСТА&#x27; не найден!&quot;);
  }

  var ranges = [&quot;C6:C38&quot;]; // Ваши диапазоны
  var data = [];

  for (var i = 0; i &lt; ranges.length; i++) {
    try {
      var range = sheet.getRange(ranges[i]);
      Logger.log(&quot;Обрабатываем диапазон: &quot; + ranges[i]);
      data.push(...range.getValues().flat().filter(Boolean)); // Собираем тикеры
    } catch (e) {
      Logger.log(&quot;Ошибка с диапазоном: &quot; + ranges[i] + &quot;. Сообщение: &quot; + e.message);
    }
  }

  if (data.length === 0) {
    throw new Error(&quot;Список тикеров пуст!&quot;);
  }

  return data;
}


function getCryptoPriceOptimized(symbol, convert) {
  // Приводим тикер к верхнему регистру для унификации
  var normalizedSymbol = symbol.toUpperCase();

  // Проверяем, актуален ли кэш
  var cache = CacheService.getScriptCache();
  var cacheData = cache.get(&quot;cryptoCache&quot;);
  var cacheTimestamp = cache.get(&quot;cryptoCacheTimestamp&quot;);

  // Если кэш отсутствует или устарел, обновляем его
  if (!cacheData || !cacheTimestamp || (new Date() - new Date(cacheTimestamp)) / 60000 &gt; CACHE_EXPIRATION_MINUTES) {
    updateCache(convert);
    cacheData = cache.get(&quot;cryptoCache&quot;); // Перезагружаем кэш
  }

  // Разбираем кэш из строки JSON в объект
  var cachedData = cacheData ? JSON.parse(cacheData) : {};

  // Возвращаем значение из кэша, если оно есть
  if (cachedData[normalizedSymbol]) {
    return cachedData[normalizedSymbol];
  }

  // Если данные не найдены в кэше
  return &quot;Not Found&quot;;
}

function updateCache(convert) {
  var symbolsToFetch = fetchSymbolsFromSheet(); // Загружаем тикеры из таблицы
  if (symbolsToFetch.length === 0) {
    throw new Error(&quot;Список криптовалют пуст!&quot;);
  }

  var data = fetchCryptoData(symbolsToFetch, convert);

  // Создаём объект для кэша
  var cacheObject = {};
  for (var key in data) {
    cacheObject[key] = data[key].quote[convert].price;
  }

  // Сохраняем данные в кэш
  var cache = CacheService.getScriptCache();
  cache.put(&quot;cryptoCache&quot;, JSON.stringify(cacheObject), CACHE_EXPIRATION_MINUTES * 60); // Сохраняем на указанный срок
  cache.put(&quot;cryptoCacheTimestamp&quot;, new Date().toISOString(), CACHE_EXPIRATION_MINUTES * 60);
}

function fetchSymbolsFromSheet() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&quot;СЮДА ВСТАВЬТЕ НАЗВАНИЕ ЛИСТА&quot;); // Укажите название листа
  var ranges = [&quot;C6:C38&quot;]; // Укажите диапазоны
  var allValues = [];

  // Собираем значения из указанных диапазонов
  ranges.forEach(function(range) {
    var values = sheet.getRange(range).getValues().flat();
    allValues = allValues.concat(values);
  });

  // Убираем пустые ячейки и возвращаем результат
  return allValues.filter(Boolean).map(function(value) {
    return value.toString().toUpperCase().trim();
  });
}
</pre>
  <ol id="6JZf">
    <li id="GqPh">Обращаем внимание на строчку №10 и вставляем туда ваш API ключ. </li>
    <li id="X1Ix">Обращаем внимание на строчку №24, №26, и №98. Указываем название листа с которым работаете.</li>
    <li id="ULLt">И самое главное, строка №29 и №99. В них нужно указать диапазон ячеек с тикерами, цены которых вы хотите получить.</li>
    <li id="HCIf">Внимательно просмотрите весь код. Везде где нужно, есть указания.</li>
  </ol>
  <hr />
  <p id="w7pO">В моей таблице вы можете увидеть, что все тикеры расположены в колонке &quot;C&quot;, поэтому мой диапазон &quot;С6:С38&quot;. </p>
  <p id="vnM7">Если в вашей таблице тикеры расположены в разных областях, вы можете указать их подобным образом:</p>
  <pre id="qB5R">var ranges = [&quot;C6:C38&quot;, &quot;B2:L2&quot;]; // Ваши диапазоны</pre>
  <p id="K1GS">Поздравляю! Теперь у вас есть доступ к ценам всех токенов на CoinMarketCup, достаточно просто указать тикер.</p>
  <p id="jriZ">Осталось лишь вызвать в ячейке эту функцию:</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="cau9">=getCryptoPriceOptimized(&quot;ETH&quot;; &quot;USD&quot;)</p>
  </section>
  <hr />
  <h3 id="JFIq">Для респектов</h3>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="X4qN">0x70ca5390fC966bd03e1626b1cC0F86328d1aeEd7 или лайк, комент. <br />Как кайф.</p>
  </section>
  <h3 id="RZmm">Теги для SEO</h3>
  <p id="dsoo">Криптовалюта, цены, парсинг, портфель, таблицы, гугл таблицы, google таблицы, </p>

]]></content:encoded></item></channel></rss>