<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>smth0x</title>
        <link>https://paragraph.com/@night0x</link>
        <description>undefined</description>
        <lastBuildDate>Sat, 20 Jun 2026 18:38:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>smth0x</title>
            <url>https://storage.googleapis.com/papyrus_images/d21d6b691e7c0b61ccc52ace77b6aa04fe139dbe4dd8fa5f6b1e2908d10846d4.jpg</url>
            <link>https://paragraph.com/@night0x</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[The Graph’s Community Talk #32]]></title>
            <link>https://paragraph.com/@night0x/the-graph-s-community-talk-32</link>
            <guid>UjEFRz9egJEAC4gAjflS</guid>
            <pubDate>Tue, 07 May 2024 16:03:11 GMT</pubDate>
            <description><![CDATA[Зустріч зі спільнотою №32 відбулася у вівторок, 20 лютого, о 8 ранку за PST. The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на Discord. Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію. Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче. Імена, згадані у л...]]></description>
            <content:encoded><![CDATA[<div data-type="youtube" videoId="DzNG4I3ktg4">
      <div class="youtube-player" data-id="DzNG4I3ktg4" style="background-image: url('https://i.ytimg.com/vi/DzNG4I3ktg4/hqdefault.jpg'); background-size: cover; background-position: center">
        <a href="https://www.youtube.com/watch?v=DzNG4I3ktg4">
          <img src="{{DOMAIN}}/editor/youtube/play.png" class="play"/>
        </a>
      </div></div><p>Зустріч зі спільнотою №32 відбулася у вівторок, 20 лютого, о 8 ранку за PST.</p><p>The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">Discord</a>.</p><p>Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію.</p><p>Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче. Імена, згадані у лапках, представляють нікнейм користувача на сервері Discord Graph AdvocatesDAO</p><p>The Graph Community Talk орієнтована на широку аудиторію незалежно від досвіду. Ми сподіваємося на активну участь спільноти і чекаємо на вашу залученість!</p><p>Ви можете знайти цю та всі інші події спільноти в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://calendar.google.com/calendar/u/0/embed?src=info@thegraph.foundation">календарі</a>. Підпишіться на календар, щоб бути в курсі усіх майбутніх подій!</p><p><strong>Останні новини спільноти (00:00)</strong></p><p><strong>Конкурс мемів</strong></p><p>Playgrounds0x визнано переможцем конкурсу мемів! Відвідувачі та члени спільноти можуть переглянути меми, які визнано найкращими, на сторінці The Graph AdvocatesDAO у Twitter, що демонструє креативність спільноти.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/GraphAdvocates/status/1756008825436467676">https://twitter.com/GraphAdvocates/status/1756008825436467676</a></p><p><strong>ETH Denver</strong></p><p>Всі учасники спільноти, які планують відвідати <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.ethdenver.com/">ETH Denver (23 лютого - 3 березня 2024 року)</a>, отримали запрошення відвідати стенд The Graph та взяти участь у воркшопі, який проведуть основні розробники.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol/status/1223030052075388928?s=20">https://twitter.com/graphprotocol/status/1223030052075388928?s=20</a></p><p><strong>Внески та учасники</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/lary_bo/status/1759439452236366002?s=61&amp;t=rMEqwedp9XxKiU63JTiKw">https://twitter.com/lary_bo/status/1759439452236366002?s=61&amp;t=rMEqwedp9XxKiU63JTiKw</a></p><p>Під час висвітлення внеску членів спільноти, Larik був відзначений за створення високоякісних візуальних матеріалів, які ефективно демонструють новини протоколу та оновлення програми для адвокатів. Ці візуальні матеріали відіграють важливу роль в інформуванні про досягнення The Graph та залученні ширшої спільноти.</p><p>Colson скористався моментом, щоб висловити подяку кільком членам спільноти за те, як вони дбають про спільноту. Особлива подяка була висловлена “Thomas athsrueas.eth”, “paulieb.eth”, “Siddhant” і “yashhhh.eth | E&amp;N” за їхню відданість і внесок у відповідях на запитання спільноти.</p><p><strong>Воркшопи та заходи спільноти</strong></p><p>Воркшоп** <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/chidubem_w3/status/1751272906607165563?s=20">“Децентралізований додаток з нуля” в Accra, Ghana</a>**<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/chidubem_w3/status/1751272906607165563?s=20">,</a> був відзначений “Chidubem | The Graph” за його спрямування на створення децентралізованих додатків та інтеграції підграфів. Simon і Jerry з Edge &amp; Node були співавторами цього воркшопу, підкреслюючи прихильність The Graph до освіти і розвитку в сфері блокчейну.</p><p>Приєднуйтесь до телеграму TheGraphAfrica <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/TheGraphAfrica">тут</a>.</p><p>Крім того, “lorenablockya” поділилась цікавими деталями щодо майбутнього заходу ETH Argentina, який відбудеться 1 і 2 березня, в рамках якого буде проведено технічний паралельний захід. Крім того, “Emmilili” нагадав про подію ETH Cinco de Mayo, що відбулася з 1 по 4 лютого 2024 року, підкресливши її мету - збагатити спільноту розробників за допомогою воркшопів та нетворкінгу. Переможцем хакатону під час цієї події став децентралізований додаток, спрямований на музику та NFT, що підкреслює інноваційне використання The Graph у нових додатках.</p><p><strong>Нагадування</strong></p><p>Учасникам спільноти нагадали слідкувати за <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/c/research/cd-1-pager-updates/70">щомісячними оновленнями від основних розробників</a> на форумі, щоб своєчасно отримувати інформацію щодо постійного прогресу та розвитку The Graph:</p><p><strong>Нові випуски GRTiQ</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-152-uri-kolodny/"><strong>Подкаст GRTiQ: 152 Uri Kolodny</strong></a></p><p>У цьому епізоді на вас чекає захоплива розмова з Uri Kolodny, Co-Founder і CEO StarkWare. Він розкриває тонкощі Starknet, рішення для масштабування рівня 2 для Ethereum, та його майбутню підтримку в мережі The Graph. Незважаючи на нещодавню заяву Uri про відхід з посади CEO, його розповіді у випуску підкреслюють його внесок в технологію блокчейн і очікувану інтеграцію з The Graph, що підкреслює його продуманість і підприємницький дух.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-153-rodrigo-coelho-part-1/"><strong>Подкаст GRTiQ: 153 Rodrigo Coelho (частина 1)</strong></a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-154-rodrigo-coelho-part-2/"><strong>Подкаст GRTiQ: 154 Rodrigo Coelho (частина 2)</strong></a></p><p>У цьому епізоді Rodrigo Coelho, Chief Spirit Officer в Edge &amp; Node, розповідає про свій шлях від випадкової зустрічі з Yaniv, яка привела до того, що він став першим співробітником The Graph, до ключових моментів, що визначили успіх проекту.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-155-juan-manuel-rodriguez-defago/"><strong>Подкаст GRTiQ: 155 Juan Manuel Rodriguez Defago</strong></a></p><p>У цьому епізоді ми знову зустрічаємось з Juan Manuel Rodriguez Defago, Blockchain Developer в GraphOps. Епізод висвітлює його перехід від активного учасника спільноти до основного розробника в екосистемі The Graph з моменту нашої останньої розмови у квітні 2021 року. Відданість Juan спільноті The Graph очевидна, коли він ділиться відомостями про свою поточну роботу, включаючи такі ключові проекти, як Graph Horizon і New Era, підкреслюючи постійне прагнення розвивати екосистему.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-156-pablo-carranza-velez/"><strong>Подкаст GRTiQ: 156 Pablo Carranza Velez</strong></a></p><p>У цьому епізоді  Pablo Carranza Velez, Principal Software Engineer в Edge &amp; Node, розповідає про свій шлях від раннього інтересу до простору до ключових ролей у web3 та The Graph. Висвітлюючи свій внесок, включаючи успішну міграцію L2 на Arbitrum One та розробку пропозиції Graph Horizon, Pablo ділиться цінною інформацією про свою роботу та майбутні напрямки розвитку екосистеми The Graph.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-157-ayoola-john/"><strong>Подкаст GRTiQ: 157 Ayoola John</strong></a></p><p>У цьому епізоді Ayoola John, CEO і Co-Founder of Astronaut, розповідає про свого інноваційного ШІ-помічника, спрямованого на трансформацію управління громадою. AJ розповідає про свій шлях від Lagos до керівних посад у Facebook та Coinbase, про свою підприємницьку діяльність та пропонує спеціальну знижку для слухачів подкасту на план Astronaut PRO.</p><p><strong>Презентація  Graph Horizon (09:20)</strong></p><p>Pablo з Edge &amp; Node поділився короткою презентацією Graph Horizon, запропонованим оновленням The Graph, яке спрямоване на те, щоб зробити його більш модульним, гнучким, надійним, децентралізованим і стійким до цензури. Пропозиція спрямована на відмову від монолітної структури, дозволяючи ширший спектр послуг з передачі даних без потреби у схваленні управління, таким чином стимулюючи інновації і диверсифікацію послуг.</p><p><strong>Зміни в економічній моделі та моделі безпеки</strong></p><p>За допомогою Graph Horizon плануються значні зміни для підвищення економічної безпеки та прозорості. Пропонується ввести можливість скасування делегування і плату за індексацію на додаток до існуючих винагород, заохочуючи участь без попереднього дозволу і посилюючи опір цензурі. Підхід передбачає децентралізований арбітраж, що дозволяє кожній службі обробки даних налаштовувати свої процеси арбітражу і перевірки, зменшуючи участь управління. Ключовим елементом стратегії є модульний стейкінг-контракт, за яким провайдери стейкають GRT, щоб забезпечити цілісність сервісу, а верифікатори мають право зменшувати стейки на основі встановлених правил.</p><p><strong>Структура протоколу та управління</strong></p><p>Graph Horizon сприяє компонуванню без дозволу, даючи можливість створювати нові сервіси обробки даних з унікальними правилами, незалежно від схвалення базового стейкінг-контракту. Довіра до базового контракту про розподіл часток має вирішальне значення, тому обговорюється, чи використовувати повністю незмінний контракт, чи фіксований у часі процес оновлення. Така гнучкість дозволяє кожному сервісу обробки даних створювати свій механізм арбітражу, що, можливо, призведе до створення ринку арбітрів, яких шануватимуть за їхню репутацію та справедливість.</p><p><strong>Автоматизація та верифікація</strong></p><p>Основна мета Horizon - підвищити автоматизовану перевірку сервісів даних в мережі, зменшити залежність від людського арбітражу і підвищити економічну безпеку.</p><p><strong>Децентралізація та стійкість до цензури</strong></p><p>Graph Horizon прагне підвищити стійкість до цензури та децентралізацію, зокрема, щоб усунути потребу в оракулах для індексації винагород.</p><p><strong>Індексація та структура винагород</strong></p><p>Graph Horizon вводить GIP-58, додаючи плату за індексацію як метод індексації підграфів поряд з існуючими винагородами, без негайних змін останніх.</p><p><strong>Залучення спільноти та розвиток протоколу</strong></p><p>Graph Horizon має на меті розумно використовувати випуск GRT, сприяючи обговоренням щодо його найкращого використання без зміни винагороди за індексацію. Він враховує занепокоєння щодо вибору споживачів, який призводить до централізації, пропонуючи автоматизований вибір і заохочуючи розробників розподіляти плату за індексацію між кількома індексаторами, покращуючи якість обсловування і децентралізуючи його. Graph Horizon прагне досягти більш ефективної взаємодії, усуваючи потребу в платі за кураторство або податках на протокол для послуг, які не базуються на винагороді за видачу та індексацію, що потенційно знижує витрати і сприяє зростанню The Graph. Обговорення спільноти зосереджені на розвитку протоколу в напрямку Graph Horizon, порівнюючи поступові поліпшення підходу Brownfields з новою паралельною структурою протоколу підходу Greenfield.</p><p><strong>Операційна ефективність і користувацький досвід</strong></p><p>Graph Horizon має на меті спростити процес індексації підграфів для їхніх розробників, забезпечуючи більш передбачуване ціноутворення і кращий загальний досвід роботи. Підкреслюється терміновість цих обговорень, враховуючи обмежений час для вирішення цих значних змін.</p><p><strong>Посилання на Graph Horizon</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/graph-horizon-explained-a-proposal-for-the-evolution-of-the-protocol/5169"><strong>Допис на форумі</strong></a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/graph-horizon/"><strong>Допис у блозі</strong></a></p><p><strong>Подкаст GrapHER Club (18:59)</strong></p><p>The Graphtronauts розпочали ініціативу, спрямовану на трансформацію наративу про жінок у web3, запустив подкаст GrapHER Club Podcast. Цей інноваційний проект, який веде “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/emmilili_eth">Emmilili</a>” і який було представлено під час громадської дискусії, покликаний розширити можливості та надихнути жінок перейти у динамічний простір web3 і процвітати в ньому. Ініціатива підкреслює той факт, що не обов’язково мати ступінь з комп&apos;ютерних наук чи досвід кодування  для того, щоб залишити свій слід у Web3, підкреслюючи відкритість екосистеми для різноманітних талантів - від дизайну та побудови спільнот до розробки.</p><div data-type="youtube" videoId="xTS_HsCSji8">
      <div class="youtube-player" data-id="xTS_HsCSji8" style="background-image: url('https://i.ytimg.com/vi/xTS_HsCSji8/hqdefault.jpg'); background-size: cover; background-position: center">
        <a href="https://www.youtube.com/watch?v=xTS_HsCSji8">
          <img src="{{DOMAIN}}/editor/youtube/play.png" class="play"/>
        </a>
      </div></div><p>Подкаст GrapHER Club має на меті привернути увагу до жінок-новаторів, які роблять значний внесок у сферу Web3, незалежно від того, чи є вони дослідницями, засновницями або першопрохідцями у своїх галузях, доносячи до нас повідомлення про гендерну інклюзивність у технологічному ландшафті. Перший епізод подкасту розповідає про надихаючу подорож Mickey Negus, Senior Engineering Manager в Edge &amp; Node, яка розповідає про свій шлях до того, щоб стати першою жінкою-лідером у сфері технологій, подолання синдрому самозванця та стійкість, необхідну в її ролі. Mickey ділиться важливою інформацією для тих, хто прагне до лідерства в технологічній індустрії, а також цінні поради для тих, хто хоче спробувати свої сили в цій часто складній і лякаючій галузі.</p><p>Цей проект є свідченням пристрасті та відданості команди The Graphtronauts, яка має на меті створити сприятливе середовище для жінок у Web3.Перший епізод вийшов одночасно з community talk, і команда закликала спільноту взаємодіяти з контентом. Emmilili зазначила, що подкаст - це щире прагнення зробити позитивний внесок у розвиток спільноти Web3, і пообіцяла, що в найближчі тижні буде багато цікавих гостей та історій.</p><p><strong>Оновлення від BuildersDAO (22:41)</strong></p><p>James з BuildersDAO поділився інформацією про те, як організація працює над покращенням екосистеми The Graph. BuildersDAO - це колектив розробників, який займається розробкою високоякісних підграфів і підпотоків для безперешкодної інтеграції різних протоколів і проектів Web3 з The Graph. Вони зосереджені не лише на створенні цих інтеграцій, але й на їх утриманні, пропонуючи постійну підтримку та заохочуючи інновації, щоб підтримувати залученість проектів в екосистему.</p><p>Він детально описав основні зусилля організації, включаючи розробку підграфів з нуля, оптимізацію та оновлення підграфів від хостингових сервісів до децентралізованих мереж, з особливим акцентом на тих, що працюють на основі Substreams. Крім того, James згадав про роботу над виправленням критичних помилок і наданням технічної підтримки.</p><p>Останні зусилля, які виділив James, включають: створення підграфів для Token Name Service для TokenDAO і FloorDAO V2, запуск проекту підграфа для Ethereum Follow Protocol і оптимізацію підграфа Uniswap V3, а також аналогічні зусилля по оптимізації підграфа Uniswap V2.</p><p>James також розповів про проактивні заходи DAO щодо міграції та утримання, включаючи панель керування, створену учасником команди на ім’я Thomas. Ця панель керування відстежує підграфи на хостинговому сервісі, ідентифікуючи потенційні проекти для міграції в мережу The Graph і виділяючи підграфи, які не синхронізуються, як можливості для виправлення помилок.</p><p>Він також підкреслив важливість розвитку Substreams в рамках BuildersDAO, згадавши про винагороду для учасників DAO за створення базових підпотоків. Серед ключових проектів у цій області включають підпотоки для ціноутворення Chainlink та Uniswap, а також інші, що перебувають на стадії розробки.</p><p>Завершуючи свою доповідь, James запросив всіх, хто має досвід у розробці підграфів та підпотоків і захоплюється Web3 та The Graph, розглянути можливість приєднання до BuildersDAO.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.buildersdao.tech/">https://www.buildersdao.tech/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/GraphBuilders?s=20">https://x.com/GraphBuilders?s=20</a></p><p><strong>Залишайтеся з нами!</strong></p><p>Приєднуйтесь до нас наступного місяця на Community Talk #33!</p><p>Будьте в курсі подій, долучаючись до дискусій на форумі, слідкуйте за &quot; The Graph на X&quot; або зв&apos;яжіться з будь-ким із людей, згаданих у коментарях, приєднавшись до сервера Discord.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
        <item>
            <title><![CDATA[The Graph і Farcaster Frames: Закриття потреб у даних за допомогою підграфів]]></title>
            <link>https://paragraph.com/@night0x/the-graph-farcaster-frames</link>
            <guid>YNceAWIKOaKQBLxoMpUZ</guid>
            <pubDate>Tue, 07 May 2024 15:35:06 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/build-with-farcaster-frames-the-graph/ Нещодавно Farcaster представив нову функцію фреймів, яка викликала хвилю захоплення у спільноті розробників web3. Функціонал простий, але потужний: фрейми дозволяють користувачам додавати програмовану інтерактивність до своїх публікацій, уможливлюючи безліч творчих можливостей. Чудовим прикладом для початківців буде вбудовування опитування: Опублікуйте питання на Farcaster і закличте своїх підписників вибрати відповідь в інтерак...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/build-with-farcaster-frames-the-graph/">https://thegraph.com/blog/build-with-farcaster-frames-the-graph/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/v/0x5236071b">Нещодавно Farcaster</a> представив нову функцію <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.farcaster.xyz/learn/what-is-farcaster/frames">фреймів</a>, яка викликала хвилю захоплення у спільноті розробників web3. Функціонал простий, але потужний: фрейми дозволяють користувачам додавати програмовану інтерактивність до своїх публікацій, уможливлюючи безліч творчих можливостей. Чудовим прикладом для початківців буде вбудовування опитування: Опублікуйте питання на Farcaster і закличте своїх підписників вибрати відповідь в інтерактивному фреймі з декількома варіантами відповідей. Після цього, сценарії використання можуть стати ще цікавішими.</p><p>Програмована інтерактивність відкриває безліч творчих можливостей.  З моменту випуску фреймів розробники вже встигли поекспериментувати з різними варіантами використання, такими як прямі <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/tyson/0x5412119f">NFT мінти з часової шкали</a>, голосування за <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/limone.eth/0x9715d06b">пропозиції Safe</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/six/0xe29345ce">полювання на </a>скарби, створення <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/schmidsi/0x05df9d12">трекера продажів Punk</a> і багато іншого. А оскільки фрейми базуються на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.farcaster.xyz/reference/frames/spec">відкритому стандарті</a>, інші протоколи швидко приєдналися до концепції: Lens з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://yoginth.notion.site/Hey-Portals-Open-Graph-Spec-ddbedce64a2d4e1a80f66db182159aff">порталами Lens</a> і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://community.xmtp.org/t/xip-36-supporting-frames-in-xmtp/534">XMTP фрейми</a>.</p><p>Як ж The Graph вступає в гру з цим новими примітивами в web3?</p><p>Більшість фреймів мають потреби в мережевих даних. Наприклад, фрейм NFT мінт, можливо, захоче перевірити, чи підключений користувач вже здійснив мінт, тоді як деякі фрейми мають <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/unlock-protocol/token-gated-frame/tree/main">функціонал, залежний від токенів</a>. Інші просто хочуть відображати певним чином організовані та актуальні мережеві дані. Саме тут розробники можуть використовувати The Graph для впевненого створення: забезпечуючи безперешкодний доступ до мережевих даних за допомогою підграфів.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer">Завдяки безлічі існуючих, вже опублікованих в мережі The Graph, підграфів</a>,  розробники можуть легко використовувати ці ресурси для задоволення своїх потреб у даних. А у випадках, коли потрібного підграфа не існує, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/quick-start/">створити його відповідно до конкретних потреб, що є простим</a> процесом завдяки інтуїтивно зрозумілій інфраструктурі The Graph.</p><p>The Graph вирізняється не лише своєю доступністю, але й <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/tokenomics/">економічною гарантією</a>, яку він пропонує через стейк індексаторів. Це забезпечує вищий рівень довіри та цілісності отриманих даних, що дає розробникам спокій, коли вони інтегрують мережеву інформацію у свої фрейми. Крім того, запит даних з мережі The Graph є інтуїтивно зрозумілим та ефективним, що робить його кращим вибором для розробників, які шукають надійні джерела даних.</p><p><strong>The Graph + Farcaster Frames  в дії</strong></p><p>Це не гіпотетична стаття про те, як теоретично можна інтегрувати дані з The Graph у фрейми Farcaster. Насправді, вже є дуже цікаві приклади з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.bountycaster.xyz/bounty/0x04ad57b9bd47724ddc00cd72f334d90329cec06e?widget=fc-2024-02-29">останнього конкурсу Farcaster Bounty, організованого The Graph</a>, які показують реальні приклади фреймів, що використовують The Graph для  мережевих даних.</p><p>Погляньте на переможців:</p><p><strong>1 місце</strong>: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/3070">3070 </a>реалізував NFT-браузер всередині фрейма. Він запитує підграфи NFT на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/CBf1FtUKFnipwKVm36mHyeMtkuhjmh4KHzY3uWNNq5ow?view=Overview&amp;chain=arbitrum-one">Ethereum </a>і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/D4ab55j22wJLqdkmepiMVcSxQ44S2DTdh5aRQ5f5EqJF?view=Overview&amp;chain=arbitrum-one">Base</a>. Перевірте його в дії на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/3070/0xb1cfd7bc">Farcaster</a> і перегляньте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/eucalyptus-viminalis/interframe/tree/main">вихідний код на GitHub</a>.</p><p><strong>2 місце:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/hashir">Hashir</a> і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/shiyasmohd">Shiyas</a> створили фрейм, який може переглядати активність адреси Ethereum на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/hosted-service/subgraph/poap-xyz/poap-xdai">POAP</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/hosted-service/subgraph/ensdomains/ens">ENS</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/4cKy6QQMc5tpfdx8yxfYeb9TLZmgLQe44ddW1G7NwkA6?view=Playground&amp;chain=arbitrum-one">Uniswap</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://nfts/">NFT</a> і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://api.thegraph.com/subgraphs/name/schmidsi/anudit-lens">Lens</a>. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/hashir/0x0fe090bd">Спробуйте його</a> і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/shiyasmohd/ethwrapped-frames?tab=readme-ov-file">перегляньте вихідний код на GitHub.</a></p><p><strong>3 місце:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/limone.eth">limone.eth</a>, серійний хакер фреймів, створив фрейм, який може голосувати за пропозиції в мережі. Якщо кворум буде досягнуто, Safe буде виконано. Перевірте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/limone.eth/0x9715d06b">це на Warpcast</a> і перегляньте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/builders-garden/safe-proposal-frame">вихідний код на GitHub</a>.</p><p>Якщо ви теж заразились багом фреймів і покопатися в цьому, перегляньте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/schmidsi/cryptopunks-frames">приклад репозиторію від мене, Simon</a>, щоб швидко створити фрейм, який запитує The Graph. Або перегляньте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/davidfurlong/awesome-frames?tab=readme-ov-file">чудові фрейми</a> для більшого натхнення.</p><p><em>Зв&apos;яжіться з Simon через </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://warpcast.com/schmidsi"><em>Warpcast </em></a><em>або </em><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/schmid_si"><em>X</em></a><em>, щоб поділитися своїми думками!</em></p><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/745bc105a26d528a2c2ad831a4f4586858f21e736cc4961f5e4ca73f4ef827f1.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Graph Horizon: Впровадження децентралізованих даних у стек технологій Web3]]></title>
            <link>https://paragraph.com/@night0x/graph-horizon-web3</link>
            <guid>s8AbbpP55ST8YQJ2cv2s</guid>
            <pubDate>Tue, 07 May 2024 15:31:16 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/graph-horizon/ Як було оголошено у стратегії розвитку “Нова ера”, бачення The Graph розширилося за межі підграфів і GraphQL, щоб обслуговувати більше даних web3, більше користувачів і розробників, а також більше варіантів використання. В рамках цього етапу Edge & Node запропонувала Graph Horizon - далекоглядну трансформацію The Graph в більш вільний і повністю модульний протокол, призначений для обслуговування нескінченної кількості послуг обробки даних та мов запиті...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/graph-horizon/">https://thegraph.com/blog/graph-horizon/</a></p><p>Як було оголошено у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-roadmap-new-era/">стратегії розвитку “Нова ера”</a>, бачення The Graph розширилося за межі підграфів і GraphQL, щоб обслуговувати більше даних web3, більше користувачів і розробників, а також більше варіантів використання.  В рамках цього етапу Edge &amp; Node запропонувала Graph Horizon - далекоглядну трансформацію The Graph в більш вільний і повністю модульний протокол, призначений для обслуговування нескінченної кількості послуг обробки даних та мов запитів, а також для впровадження декількох удосконалень і оновлень протоколу. Як пояснили на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/graph-horizon-explained-a-proposal-for-the-evolution-of-the-protocol/5169">форумі The Graph</a>, еволюція, описана в Graph Horizon, свідчить про великий крок вперед у прагненні The Graph забезпечувати незрівнянну гнучкість, підвищену безпеку і покращену ефективність у наданні світу децентралізованих послуг з обробки даних.</p><p><strong>Що таке Graph Horizon?</strong></p><p>Graph Horizon - це назва пропозиції, яка визначає наступну ітерацію протоколу The Graph, і є результатом багаторічних досліджень і обговорень серед основних розробників і учасників екосистеми. Graph Horizon спрямований на підтримку нової ери The Graph, запровадивши динамічну, модульну структуру для протоколу, яка робить його більш загально доступним та ефективним. Кілька основних ідей відрізняють Graph Horizon від існуючого протоколу, як, наприклад, додавання універсального стейкінг-контракту для протоколу.</p><p>Розглянемо один з прикладів того, як Graph Horizon пропонує поліпшити роботу індексаторів і підвищити модульність. Припустимо, що є індексатор в мережі The Graph, обладнаний і готовий індексувати підграф. За допомогою Graph Horizon цей індексатор може запропонувати проіндексувати підграф, взявши на себе зобов&apos;язання щодо певної швидкості індексації після його отримання, і забезпечувати обслуговування протягом зазначеного періоду часу. Щоб забезпечити підзвітність, індексатор вносить заставу GRT, яка може бути вилучена, що є формою економічної безпеки. Якщо індексатор не виконує узгоджену послугу індексації, він ризикує втратити весь стейк. Ця схема не тільки дозволяє споживачеві бути впевненим, що його підграф буде проіндексовано відповідно до угоди, але й підвищує рівень надійності і довіри до послуг, що пропонуються в мережі The Graph. Це лише один простий приклад того, як Graph Horizon забезпечує безпеку і ефективність, сприяє безпечному обміну даними і пропонує механізм, що дозволяє надавати широкий спектр послуг з обробки даних, які відповідають різноманітним потребам користувачів.</p><p><strong>Які переваги Graph Horizon?</strong></p><p>Graph Horizon - це новий рівень простого обміну даними, а також більш різноманітні та адаптовані послуги обробки даних в мережі The Graph. Деталі кожної послуги обробки даних визначаються за допомогою смарт-контракту, включаючи вартість, вимоги та очікувану поведінку індексатора. Така чіткість у наданні послуг дозволяє безперешкодно координувати дії між тими, хто надає послуги, і тими, хто ними користується.</p><p><strong>Вивільнення модульності</strong></p><p>Graph Horizon втілює підхід, спрямований на зростання, використовуючи модульність, ключовий принцип, оскільки екосистема блокчейну розвивається в напрямку структури, де окремі шари - такі як доступність даних, консенсус і виконання - оптимізовані для виконання конкретних функцій. Така модульна архітектура не лише підвищує ефективність і гнучкість, але й знижує витрати і підтримує різноманітний ландшафт блокчейну. Інтегруючи The Graph в цей модульний стек, Graph Horizon позиціонує протокол як ключовий компонент екосистеми, забезпечуючи безперешкодне запитування даних в різних середовищах і гарантуючи його ключову роль в архітектурі блокчейну, що розвивається. Цей стратегічний фокус на модульності, включаючи активні дослідження в області модульної індексації і запитів, гарантує, що The Graph залишається адаптивним і необхідним в умовах швидкого технологічного прогресу, сприяючи створенню багатого середовища для інновацій та розвитку в області децентралізованих послуг обробки  даних.</p><p><strong>Участь без обмежень</strong></p><p>Graph Horizon виступає за більш вільне середовище. У цій конкурентній і стійкій до цензури мережі немає жодних бар&apos;єрів для вступу, встановлених управлінням. Ця філософія відкритого доступу забезпечує можливість для кожного, хто має поклик та інноваційну ідею, зробити свій внесок і отримати вигоду від The Graph. Graph Horizon вдосконалює існуючий протокол для створення більш динамічної та інклюзивної спільноти, де ідеї можуть розвиватися без обмежень авторизації, сприяючи розвитку багатого ландшафту децентралізованих послуг. Це перетворюється на реальний сценарій, коли невеликий стартап або незалежний розробник має такі ж можливості робити свій внесок і отримувати вигоду від екосистеми The Graph, як і “великі гравці”, що вже давно зарекомендували себе. Відсутність бар&apos;єрів для вступу сприяє інноваціям та урізноманітненню всередині спільноти.</p><p><strong>Економічно ефективні рішення</strong></p><p>Дизайн Graph Horizon побудований з урахуванням ефективності та цінності. Його архітектура розроблена таким чином, щоб мінімізувати витрати, забезпечуючи, що кожен ресурс використовується для надання максимальної цінності користувачам, учасникам мережі та розробникам. Цей економічно ефективний підхід приносить користь не лише індексаторам, але й кінцевим користувачам, які можуть отримати доступ до високоякісних послуг за стабільно конкурентною вартістю. Зосередженість на ефективності без шкоди для якості свідчить про прихильність Graph Horizon до стійких і доступних послуг обробки даних web3.</p><p><strong>Інтероперабельність</strong></p><p>Graph Horizon виходить за межі модульності та простоти - він пропонує нову важливу функцію: інтероперабельність. Здатність безперешкодно надавати безліч послуг обробки даних в одній мережі змінює правила гри. Ця інтероперабельність є ключовою у розширенні спектру послуг та пристосуванні до стрімко змінюючихся потреб світу web3. Вона дозволяє пропонувати різноманітні послуги, швидко впроваджувати їх і гнучко відповідати на запити користувачів. Забезпечуючи ефективну інтероперабельність різних сервісів в рамках мережі The Graph, Graph Horizon не просто розширює можливості мережі, але й активно забезпечує її майбутнє.</p><p><strong>Що це означає для учасників мережі</strong></p><p>Оскільки Graph Horizon радикально покращує протокол, важливо розуміти, які наслідки це має для поточних учасників мережі. Ця еволюція протоколу призначена бути інклюзивною і корисною для всіх учасників екосистеми The Graph. Ось короткий огляд того, як Graph Horizon впливає на різних учасників мережі.</p><p><strong>Індексатори</strong></p><p>Graph Horizon пропонує більш гнучку та ефективну екосистему. Основна зміна полягає у введенні незмінного, універсального стейкінг-контракту , який дозволяє підвищити економічну безпеку, а також  додавати різні послуги обробки даних без дозволу. Індексатори можуть брати участь у роботі різноманічних сервісів обробки даних з різними вимогами до частки за участь, структурами оплати та правилами роботи, що надає їм безпрецедентний контроль і гнучкість у їхній ролі в мережі The Graph.</p><p><strong>Делегати</strong></p><p>Graph Horizon запроваджує суттєві зміни для делегатів, підкреслюючи їхню роль у забезпеченні економічної безпеки в екосистемі The Graph. З метою підвищення відповідальності делегатів, Horizon вводить ключову функцію: делегування з можливістю штрафування делегованих токенів, що означає, що у випадку неправомірних дій індексатора, частина делегованої йому сумми токенів може бути зменшена чи вилучена. Ця зміна підвищує важливість і вплив делегатів, оскільки їхні частки безпосередньо впливають на безпеку мережі. Однак, важливо зауважити, що ризик для делегатів зменшується завдяки дизайну протоколу, де в першу чергу зменшується власний стейк індексатора. Тільки у випадках серйозних порушень, коли весь стейк індексатора вичерпаний, тоді стейк делегатів можуть бути зменшені. Очікується, що цей механізм вимагатиме мінімальної додаткової перевірки індексаторів, забезпечуючи баланс між безпекою та простотою участі для делегатів. Він також заохочує делегатів розподіляти свої токени між багатьма індексаторами, сприяючи децентралізації. Graph Horizon також скасовує % на делегування та вводить можливість більш гнучких періодів виведення коштів.</p><p><strong>Розробники</strong></p><p>Розробники, які використовують The Graph для доступу до даних блокчейну, можуть отримати велику вигоду від змін, запропонованих в Graph Horizon. Перехід до більш модульного і вільного протоколу означає, що розробники отримують більше свободи і гнучкості у взаємодії з The Graph. Вони можуть розраховувати на більшу різноманітність доступних сервісів обробки даних, а також на більш ефективну взаємодію в екосистемі. Модульна структура Graph Horizon дозволяє безперешкодно інтегрувати різноманітні послуги обробки даних у свої додатки. Наприклад, розробник може легко отримати доступ до розширених аналітичних сервісів або потоків даних блокчейну в режимі реального часу, підвищуючи функціональність і швидкість реагування своїх децентралізованих додатків без необхідності вносити значні зміни в бекенд.</p><p>Ця зміна спрямована на підтримку інновацій та зростання, оскільки розробникам відкриваються більше можливостей для створення та оптимізації своїх підграфів та інших сервісів обробки даних у більш динамічному та децентралізованому середовищі.</p><p><strong>Розробники послуг обробки даних</strong></p><p>Розробники послуг обробки даних виступають як ключові учасники, використовуючи відкритий і бездозвільний протокол для інновацій та урізноманітнення пропозицій щодо сервісів обробки даних в мережі The Graph. Їх роль полягає не лише у створенні, але й у безперешкодній інтеграції нових сервісів обробки даних, які мають вирішальне значення для розширення можливостей і корисності мережі. Розробники сервісів обробки даних також відіграють ключову роль у забезпеченні майбутнього мережі The Graph, постійно впроваджуючи передові та масштабовані рішення для роботи з даними, які передбачають та адаптуються до постійно змінюючогося ландшафту технологій web3. Крім того, їхній внесок допомагає створити більш взаємопов&apos;язану і взаємовпливаючу мережу, сприяючи створенню середовища співпраці, де різні сервіси обробки даних можуть працювати в гармонії, покращуючи загальну корисність і користувацький досвід в екосистемі The Graph. Будь-хто може стати розробником сервісів обробки даних, щоб підтримувати свої улюблені сервіси даних за допомогою мережі The Graph.</p><p><strong>Висновки</strong></p><p>Після винайдення в екосистемі The Graph, підграфи швидко стали стандартом галузі і стали використовуватись майже кожним розробником web3. Graph Horizon дає можливість наступному поколінню розробників створювати за допомогою підграфів і не тільки, отримуючи доступ до даних блокчейну у будь-який зручний для них спосіб!</p><p>Graph Horizon має революційний потенціал, трансформуючи онлайн дані, якими ми їх знаємо, і розширюючи The Graph до модульного центру даних не тільки для підграфів, але й для будь-яких децентралізованих сервісів обробки даних.</p><p>Graph Horizon активно розробляється, і у вас є можливість взяти в цьому участь, розпочавши дискусії, висловивши занепокоєння або залишивши відгук на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/graph-horizon-explained-a-proposal-for-the-evolution-of-the-protocol/5169">форумі The Graph</a>.</p><hr><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/e70f723c052dfc03ab3fc1692f64542f25b937bc5b4fe44286b07fe004589af3.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph Builders Newsletter #13]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-13</link>
            <guid>zbka8YVWolVsMPXWJAuj</guid>
            <pubDate>Tue, 07 May 2024 15:29:41 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/builders-newsletter-13/ 🏗️ Підписуйтесь на інформаційний бюлетень The Graph Builders Newsletter 🏗️ gm web3 builders, Ласкаво просимо до The Graph Builders Newsletter #13 за січень 2024, в якому ми ділимося важливими новинами екосистеми The Graph для розробників за минулий місяць. Почнімо!Спільнота розробників The GraphРозгляньте можливість приєднатися до цих трьох спільнот розробників та познайомтеся з іншими розробниками в екосистемі The Graph! Створюйте разом з у...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-13/"><strong>https://thegraph.com/blog/builders-newsletter-13/</strong></a></p><p><strong>🏗️</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH">Підписуйтесь</a> <strong>на інформаційний бюлетень The Graph Builders Newsletter 🏗️</strong></p><p>gm web3 builders,</p><p>Ласкаво просимо до <strong>The Graph Builders Newsletter #13 за січень 2024</strong>, в якому ми ділимося важливими новинами екосистеми The Graph для розробників за минулий місяць.</p><p>Почнімо!</p><hr><p><strong>Спільнота розробників The Graph</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/87494ac4b0cbaccf8af45f6c075bca8119425b479336040ee69692fff824ba98.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Розгляньте можливість приєднатися до цих трьох спільнот розробників та познайомтеся з іншими розробниками в екосистемі The Graph!</p><p><strong>Створюйте разом з учасниками хакатону в групі The Graph Builders  в Telegram</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/graphhackers">Група The  Graph Builders у Telegram</a> наразі налічує 180 учасників і має канал #general для запитань та співпраці, а також окремі канали для підтримки хакатонів. Більшість учасників приєдналися до каналу під час різних хакатонів, тому будьте певні, тут є багато відданих і допитливих web3-розробників!</p><p><strong>Створюйте разом з редакторами за допомогою r/GraphBuilders</strong></p><p>Нещодавно запустили <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/GraphBuilders/">r/GraphBuilders</a>, спрямований на обмін ресурсами, порадами та обговорення щодо розробки на The Graph. Знаходьте дописи, блоги, воркшопи та відео про підграфи, підпотоки, GraphQL та іншу інформацію про протокол.</p><p><strong>Створюйте з професіоналами з The Graph BuildersDAO</strong></p><p>Готові вдосконалити свої навички роботи з підграфами та підпотоками? Завітайте на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.buildersdao.tech/">The Graph BuildersDAO</a>, де досвідчені фахівці спільно працюють над розробкою готових до запуску підграфів і підпотоків для протоколів і команд. Якщо ще не готові приєднатися до DAO і просто хочете привітатися, приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/t6hCZrg8kr">The Graph BuildersDAO в Discord</a> і познайомтеся з командою!</p><p><strong>Оновлення екосистеми</strong></p><p><strong>TODO: Перехід від хостингового сервісу до кінцевих точок в мережі</strong></p><p>З кожним днем все більше підграфів оновлюється до мережі The Graph, а їх еквіваленти на хостингових сервісах перестають отримувати обслуговування від своїх розробників. Ми вже можемо оновити наші кінцеві точки для використання підграфів мережі The Graph:</p><p><strong>Якщо розробники використовують </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/hosted-service/subgraph/uniswap/uniswap-v3"><strong>версію  Uniswap v3 для хостингового сервісу</strong></a><strong>, кінцеві точки з часом застаріють на користь </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B?view=Overview&amp;chain=arbitrum-one"><strong>версії Uniswap V3 для мережі The Graph</strong></a><strong>.</strong></p><p>Це означає, що незабаром розробникам доведеться змінити кінцеві точки, що використовуються в їхніх децентралізованих додатках, з кінцевих точок підграфа хостингового сервісу на кінцеві точки підграфа мережі The Graph.</p><p>Якщо версії підграфа хостингового сервісу у мережі The Graph немає, будь ласка, зверніться до команди, яка володіє версією підграфа хостингового сервісу, і надішліть їм ці документи для оновлення їхнього підграфа до мережі The Graph.</p><p><em>Це оголошення буде надруковано у всіх Builders Newsletter, щоб забезпечити ясність під час закриття хостингового сервісу.  Якщо хтось із розробників побачить дописи в X (твіти) з цими нагадуваннями, будь ласка, ретвітніть, оскільки це допоможе всім розробникам в екосистемі The Graph!</em></p><p><strong>Пояснення щодо The Graph Horizon</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0abfb65ad90905f16b2b837e9a0ba60e3007131f830ac6374949c749801da4b9.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Читаєте про стратегію розвитку нової ери The Graph і хочете дізнатися більше про Horizon?</p><p>Ознайомтеся з постом на форумі The Graph, написаним Edge &amp; Node Smart Contract Engineer і Researcher Pablo Carranza Velez під назвою “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/graph-horizon-explained-a-proposal-for-the-evolution-of-the-protocol/5169">Graph Horizon Explained: a Proposal for the Evolution of the Protocol</a>”.</p><p>TL;DR?</p><p><em>“Простими словами, Graph Horizon - це ітерації над існуючим протоколом, щоб врахувати те, що ми дізналися з моменту запуску протоколу, і впровадити покращення, які були запропоновані під час спілкування з багатьма користувачами і учасниками, щоб забезпечити виконання місії The Graph  та збереження мережі як основної і надійної інфраструктури для web3”.</em> - Pablo Carranza Vélez</p><p><strong>Нові релізи</strong></p><p><strong>Graph-Node 0.34.0</strong></p><p>У версії <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases">graph-node 0.34.0</a> внесено чотири ключових покращення.</p><p><strong>Покращено продуктивність запитів за допомогою</strong> indexerHints <strong>та автоматичного прунінгу</strong></p><p>Ця нова функція, загалом, розглядається як нова найкраща практика у розробці підграфів!</p><p>Чому ця функція настільки важлива?</p><p>Прунінг<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/blob/f016503e31bb3fdb8f42f9c70a99f20775f4336f/docs/implementation/pruning.md#L4"> підграфів</a> - це метод оптимізації, який регулярно використовують індексатори для видалення непотрібних даних з підграфів, тим самим покращуючи продуктивність запитів. За допомогою indexerHints тепер можна налаштувати автоматичний прунінг підграфів.</p><p>Щоб додати цю функцію до наших підграфів, ми можемо додати indexerHints до маніфесту підграфу, як показано у цьому <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://api.thegraph.com/ipfs/api/v0/cat?arg=QmPgUqEVu8LUgtFxSS6pi2B2MB2U4efxS1ym8EU4osm2xn">прикладі маніфесту</a>.</p><pre data-type="codeBlock" text="...
indexerHints:
  prune: auto
...
"><code><span class="hljs-meta prompt_">...</span>
indexerHints:
  prune: auto
<span class="hljs-meta prompt_">...</span>
</code></pre><p><strong>Зверніть увагу, що з</strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/querying/graphql-api/#time-travel-queries"><strong>апити на переміщення у часі</strong></a><strong> конфліктують з використанням indexerHints</strong>. Не використовуйте ці дві функції разом, оскільки це призведе до критичних змін.</p><p>Якщо у вас виникнуть запитання щодо indexerHints, звертайтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="mailto:marcus@edgeandnode.com">marcus@edgeandnode.com</a>.</p><p><strong>Покращені підграфи на основі підпотоків з використанням підпотоків як тригерів для підграфів - бета-версія</strong></p><p>У цій бета-версії розробники тепер можуть безпосередньо запускати відображення підграфів на вихідних даних з підпотоків.</p><p>Один з варіантів використання цієї функції полягає у вирішенні проблеми, коли під час індексації потрібно виконати багато eth_calls. У той час як підграф повинен сповільнюватись для обробки індексації eth_calls, підпотік не сповільнюється. Таким чином, використовуючи підпотік для отримання eth_calls, а потім перетворюючи дані у відображеннях підграфа, ми отримуємо підграф, який може без проблем індексувати велику кількість eth_calls.</p><p>Будь ласка, надсилайте свої відгуки щодо цієї функції на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="mailto:marcus@edgeandnode.com">marcus@edgeandnode.com</a>.</p><p><strong>Покращення точності індексації за допомогою endBlock</strong></p><p>Якщо ми знаємо, що нам потрібно індексувати лише конкретний набір блоків, тепер ми можемо визначити endBlock підграфа у маніфесті.</p><pre data-type="codeBlock" text="...
  startBlock: 4000000
  endBlock: 5000000
...
"><code><span class="hljs-meta prompt_">...</span>
  startBlock: 4000000
  endBlock: 5000000
<span class="hljs-meta prompt_">...</span>
</code></pre><p>Ознайомтеся з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases">повним переліком релізів</a>, щоб дізнатися, що ще було випущено у graph-node 0.34.0!</p><p><strong>Subgraph Radio</strong></p><p>Розробка в web3 ґрунтується на надійному зв&apos;язку між розподіленими мережами людьми. На наше щастя, команда <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> щойно випустила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro">Subgraph Radio</a>, абсолютно новий інструмент, призначений для безпосереднього покращення комунікації між розробниками підграфів та індексаторами.</p><p>Дві ключові функції для розробників підграфів:</p><ul><li><p><strong>Попередня синхронізація оновлення підграфів:</strong> Дозволяє розробникам підграфів анонсувати оновлення підграфів, що дозволяє індексаторам попередно синхронізувати нові версії, зменшуючи труднощі і підвищуючи швидкість реакції мережі.</p></li><li><p><strong>Інтегровані сповіщення та моніторинг:</strong> Сумісність з такими платформами, як Slack, Discord і Telegram, для отримання сповіщень в режимі реального часу, в поєднанні з повноцінним моніторингом за допомогою детальних журналів і метрик, доступних через Prometheus і візуалізованих за допомогою інтерфейсів Grafana.</p></li></ul><p>Одна ключова функція для індексаторів:</p><ul><li><p><strong>Підтвердження індексації (POI) Cross-Checking</strong>: Надійний механізм для індексаторів для забезпечення цілісності даних, швидкого виявлення розбіжностей і пом&apos;якшення потенційних конфліктів у мережі.</p></li></ul><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro">Розпочніть</a> роботу з Subgraph Radio!</p><p><strong>Основні моменти хакатону</strong></p><p><strong>Змагання Blast Big Bang вже триває</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/57426a3ea4c4b67e3e31cbe2f4c67f88041d521e8905715e511d9078282d8923.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blast.io/en/bigbang"><strong>Змагання Blast Bing Bang</strong></a><strong> відзначає розробників!</strong></p><p>Тепер, коли Subgraph Studio підтримує Blast-Testnet, розробники в екосистемі The Graph мають величезну перевагу, адже мають можливість привернути увагу до своїх проектів. Створюйте або демонструйте свої навички роботи з підграфами та децентралізованими додатками  і представте свій проект перед більш ніж 100 тис. користувачів та $1.3 млрд. в TVL, а також зв&apos;яжіться з інвесторами.</p><p>До завершення змагання залишилося трохи менше місяця, тож у вас ще є час взяти у ньому участь та поборотися за перемогу🥇</p><p><strong>Навчальний куточок</strong></p><p><strong>Посібник по використанню файлових джерел даних : Використання підграфів для індексації позамережевих даних</strong></p><p>Пориньте в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/file-data-sources-tutorial/">новий випуск блогу, присвячений файловим джерелам даних</a>, написаний  Edge &amp; Node Developer Relations Engineer <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/Marcus_Rein_">Marcus Rein</a>!</p><p>Цей блог був написаний для початківців і розробників підграфів середнього рівня, які хочуть освоїти кілька просунутих методів, таких як використання файлових джерел даних для індексації позамережевих даних з Arweave і IPFS одночасно, а також передачу <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-context">контексту </a>між обробниками.</p><p>Дізнайтеся більше про <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#file-data-sources">файлові джерела даних</a> в документації і почніть розробку вражаючих підграфів з використанням файлових джерел даних!</p><p><strong>The Graph Builders Office Hours - щочетверга о 17:00 UTC</strong></p><p><strong>Щочетверга о 17:00 UTC приєднуйтесь до The Graph Builders Office Hours</strong>, який проводить Developer Relations Engineer з Edge &amp; Node <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> у The Graph Discord.</p><p>Кожна сесія включає в себе воркшопи у режимі реального часу та дискусії Q&amp;A з розробниками, які працюють в екосистемі The Graph.</p><p><strong>Почніть створювати  швидко з усіма (20!) </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/playlist?list=PLTqyKgxaGF3RkHkG1nRxAfVpYHSGzR7Di"><strong>воркшопами The Graph Builders Office Hours</strong></a><strong>!</strong></p><p><strong>Ось кілька нещодавніх епізодів:</strong></p><ul><li><p>Переможець Хакатону “Nazar” <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/fYK99jeD-XQbe/fYK99jeD-XQ">розробив свій проект на основі підпотоків</a></p></li><li><p>Досліджуйте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/AMCr5MZ6dus">можливості композиції підграфів</a> у Graph Client</p></li><li><p>Дізнайтеся, як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/eruFfdp66S4">Clickhouse можна використовувати у якості приймача підпотоків </a></p></li><li><p>Ознайомтеся з новими можливостями підграфів - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/fytMd4unIbU">обробники ініціалізації та обробники опитувань</a></p></li><li><p>Створюйте за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/0uDC0BcHcY4">стандартних підграфів Messari</a></p></li></ul><p><strong>Опитування для розробників</strong></p><p><strong>Створення The Graph Network - це спільна робота, і основні розробники хотіли б почути ваші </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/48LOfny"><strong>відгуки</strong></a><strong>!</strong></p><p>Дякуємо за прочитання та щасливого розвитку! 💌</p><p>Маркус Рейн</p><p>Developer Relations and Success</p><p>Edge &amp; Node, працює над The Graph</p><hr><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/265397ab289c940179290b1f61a922b0359f804c84398a94ff62858e7a28c122.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Туторіал по файловим джерелам даних: Використання підграфів для індексації офф-чейн даних]]></title>
            <link>https://paragraph.com/@night0x/BhxMyFoBgWPqGYPB9fQp</link>
            <guid>BhxMyFoBgWPqGYPB9fQp</guid>
            <pubDate>Tue, 07 May 2024 10:28:19 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/file-data-sources-tutorial/ TLDR: Поєднуючи файли IPFS та Arweave з інформацією в мережі, підграфи можуть надавати нові рішення для даних у децентралізованих додатках. Читайте цю статтю блогу, щоб дізнатися про методи вирішення проблем, з якими може зіткнутися розробник підграфів, а також про створення підграфа File Data Sources, який індексує повідомлення Lens Protocol. Готовий репозиторій підграфа File Data Sources цього туторіала. Опублікований підграф File Data S...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/file-data-sources-tutorial/">https://thegraph.com/blog/file-data-sources-tutorial/</a></p><p><em>TLDR: Поєднуючи файли IPFS та Arweave з інформацією в мережі, підграфи можуть надавати нові рішення для даних у децентралізованих додатках. Читайте цю статтю блогу, щоб дізнатися про методи вирішення проблем, з якими може зіткнутися розробник підграфів, а також про створення підграфа File Data Sources, який індексує повідомлення Lens Protocol.</em></p><p>Готовий <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-tooling/tree/main/examples/matic-lens-protocol-posts-subgraph">репозиторій</a> підграфа File Data Sources цього туторіала.</p><p>Опублікований <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/66y54JQq5nSUPwruySqFPBM3FumChgcweEsFu2R9G12Y?view=Overview&amp;chain=arbitrum-one">підграф File Data Sources </a>доступний в мережі The Graph.</p><hr><p><strong>Технологія та термінологія цього туторіала</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#file-data-sources">File Data Sources</a> - функція <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/">підграфа</a>, призначена для індексації офф-чейн файлів та їх вмісту. Наразі File Data Sources може індексувати файли, що зберігаються на Arweave та IFPS.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.notion.so/37d1a1ff61b140c881b5450cd872ae30">Arweave</a> - децентралізована мережа зберігання даних, спрямована на забезпечення постійного й незмінного зберігання даних. На відміну від інших сховищ, вона пропонує модель одноразової оплати, гарантуючи постійне зберігання даних без повторних платежів.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ipfs.tech/">IPFS</a> (InterPlanetary File System) - однорангова мережа, яка дозволяє децентралізовано обмінюватися файлами та зберігати їх, маючи на меті зробити Інтернет швидшим, безпечнішим та відкритішим. На відміну від моделі постійного зберігання Arweave, IPFS дозволяє динамічне оновлення та отримання даних, але не гарантує вічного зберігання даних.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.lens.xyz/">Lens Protocol</a> - децентралізований соціальний граф, призначений для надання користувачам контролю над їхнім контентом та зв&apos;язками у просторі, орієнтованому на web3. Lens Protocol зберігає контент як на Arweave, так і на IPFS, що значно вигідніше, ніж зберігати ці дані в мережі.</p><p>ABI (Application Binary Interface) - це стандартизований метод взаємодії зі смарт-контрактами в блокчейні, який визначає, як викликати функції, як структурувати дані і як інтерпретувати результати. Підграфи використовують ABI для декодування та індексації подій смарт-контрактів і викликів функцій, що дозволяє ефективно і структуровано запитувати дані блокчейну.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates">Шаблони джерел даних</a> (DST) - використовуються для індексації динамічних джерел даних. Існує два способи використання шаблонів джерел даних в підграфах: для індексації файлів поза мережею і для програмного додавання нових контрактів для індексації під час виконання, наприклад, проксі-смарт-контрактів або фабрик.</p><p>Смарт-контракти з проксі-шаблоном - ця архітектура смарт-контрактів складається з одного реалізованого смарт-контракту і, можливо, багатьох проксі-смарт-контрактів. Дізнайтеся більше про проксі-смарт-контракти, переглянувши <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/watch?v=bdXJmWajZRY">відеоурок</a> Patrick Collins та прочитавши <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies">документацію</a> від OpenZeppelin.</p><p><strong>Варіант використання File Data Sources</strong></p><p>У минулому підграф, що індексує дані поза мережею, був лінійним, а це означає, що якщо підграф був активований для індексації даних поза мережею, індексація в мережі припинялася до тих пір, поки файл не був отриманий. Тепер File Data Sources дозволяє паралельно індексувати як мережеві, так і офф-чейн дані, підвищуючи швидкість і надійність синхронізації. Завдяки цим покращенням, зараз чудовий час, щоб навчитися розробки за допомогою File Data Sources!</p><p>Давайте почнемо з прикладу використання. <em>Чи не було б чудово зібрати всі записи на Lens Protocol, включно з іменами користувачів, які їх опублікували?</em></p><p>Використовуючи цей підграф ми могли б провести численні аналізи, такі як аналіз трендів, ідентифікація інфлюенсерів, рекомендація контенту тощо, використовуючи такі бібліотеки, як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://playgrounds.network/">Playgrounds</a>, або навіть створити дашборди без коду за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dapplooker.com/home">DappLooker</a>.</p><p><strong>Підтвердження архітектури даних і специфікацій нашого підграфа</strong></p><p>Перед тим, як розпочати розробку, нам потрібно переконатися, що існують як он-чейн, так і офф-чейн джерела даних, щоб запустити індексацію нашого підграфа File Data Sources.</p><p>Більшість NFT, включно з деякими публікаціями Lens Protocol V1, зберігають свій вміст та метадані в JSON-файлах поза мережею, тоді як їхній стан зберігається в мережі. Переконавшись, що <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.lens.xyz/docs/create-post-typed-data">Lens використовує IPFS і Arweave</a>, а також має свій <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d">проксі-смарт-контракт</a> і <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xba97fc9137b7cbbbc7fcb70a87da645d917c902f#code">реалізаційні </a>смарт-контракти на Polygon, ми готові перейти до створення характеристик нашого підграфа.</p><p>Ось дві основні операції, які буде виконувати наш підграф для належної індексації даних поза мережею:</p><ol><li><p><strong>Збір ідентифікаторів файлів з події в мережі</strong></p></li></ol><ul><li><p>Ми зберемо ідентифікатори файлів з офф-чейн файлу події PostCreated. Ця подія визначена в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xba97fc9137b7cbbbc7fcb70a87da645d917c902f#code">реалізаційному смарт-контракті LensHub</a> і генерується з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d">проксі-смарт-контракту LensHub</a>.</p><ul><li><p>Ми запустимо індексацію файлових джерел даних за цими ідентифікаторами файлів.</p></li></ul></li></ul><p>2.    <strong>Індексація офф-чейн файлів з Arweave та IPFS за допомогою File Data Sources</strong></p><ul><li><p>Ми будемо збирати вміст публікації з JSON-файлу, збереженого на Arweave або IPFS, і зберігати метадані файлу в змінній PostContent в нашому підграфі.</p></li></ul><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/078db6dc5fe4753409b1f6413b93b7c289ad1c66bcac0b9192a1c24e455ef844.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Офф-чейн ідентифікатори файлів, які запускають File Data Sources</strong></p><p><strong>Arweave</strong></p><ul><li><p>Починаючи з версії 0.33.0, нода Graph може отримувати файли, що зберігаються на Arweave, на основі їх <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.arweave.org/developers/server/http-api#transactions">ідентифікатора транзакції</a> від шлюзу Arweave (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA">приклад файлу</a>). Arweave підтримує транзакції, завантажені через <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.irys.xyz/">Irys </a>(раніше Bundlr), і нода Graph також може отримувати файли на основі маніфестів Irys.</p></li></ul><p><strong>IPFS</strong></p><ul><li><p>Нода Graph підтримує <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.ipfs.tech/concepts/content-addressing/">ідентифікатори вмісту (CID) версій v0 і v1,</a> а також CID з такими каталогами, як Qm.../metadata.json.</p></li></ul><p>Тепер, коли ми підтвердили архітектуру наших даних і зрозуміли специфікацію нашого підграфа, попрацюємо над наданням першої специфікації підграфа: <strong>збором ідентифікаторів файлів з події в мережі.</strong></p><hr><p><strong>Збір ідентифікаторів файлів з подій в мережі</strong></p><p>Якби ми створювали власний смарт-контракт, то було б досить легко створити подію, що видає ідентифікатор файлу для File Data Sources. Оскільки ми не створюємо власний смарт-контракт, нам доведеться дослідити смарт-контракти Lens, щоб знайти подію, яка видає ідентифікатор файлу для нашого підграфа File Data Sources.</p><p>Давайте дослідимо <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xba97fc9137b7cbbbc7fcb70a87da645d917c902f#code">реалізаційний  смарт-контракт LensHub</a> <strong>events.sol</strong>, щоб знайти подію, яка може містити ідентифікатор файлу, який ми можемо використати для запуску офф-чейн індексування File Data Sources.</p><p>Якщо ми подивимося на подію <strong>PostCreated</strong>, то побачимо, що вона видається кожного разу при створенні поста. Ми також бачимо, що вона має поле <strong>contentURI</strong>, яке може містити ідентифікатори файлів, які нам потрібні для запуску File Data Sources.</p><pre data-type="codeBlock" text="event PostCreated(
  uint256 indexed profileId,
  uint256 indexed pubId,
  string contentURI,
  address collectModule,
  bytes collectModuleReturnData,
  address referenceModule,
  bytes referenceModuleReturnData,
  uint256 timestamp
);
"><code><span class="hljs-function"><span class="hljs-keyword">event</span> <span class="hljs-title">PostCreated</span>(<span class="hljs-params">
  <span class="hljs-keyword">uint256</span> <span class="hljs-keyword">indexed</span> profileId,
  <span class="hljs-keyword">uint256</span> <span class="hljs-keyword">indexed</span> pubId,
  <span class="hljs-keyword">string</span> contentURI,
  <span class="hljs-keyword">address</span> collectModule,
  <span class="hljs-keyword">bytes</span> collectModuleReturnData,
  <span class="hljs-keyword">address</span> referenceModule,
  <span class="hljs-keyword">bytes</span> referenceModuleReturnData,
  <span class="hljs-keyword">uint256</span> timestamp
</span>)</span>;
</code></pre><p>Давайте розгорнемо підграф, який індексує цю подію <strong>PostCreated</strong> і її поле <strong>contentURI</strong>, щоб перевірити, чи містить воно ідентифікатори файлів, які нам потрібні для запуску індексації File Data Sources. Після того, як ми переконуємося, що цей <strong>contentURI</strong> містить ідентифікатор потрібного нам файлу, ми можемо розширити цей підграф далі, щоб запустити індексацію цього файлу через File Data Sources.</p><p><strong>Розгортання нашого підграфа для індексування події PostCreated</strong></p><p>Розпочнемо з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.thegraph.com/studio">www.thegraph.com/studio</a> і створимо новий підграф, який вибере Polygon в якості блокчейну для індексації, оскільки Polygon - це мережа, в якій розгорнуті смарт-контракти.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/1c741a079c6b08f85d40dfbd6f620720b122dffa11cb9a783e8b5dc1b15965e8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Використовуючи <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-tooling">graph-cli</a>, ініціюємо наш підграф за допомогою команди <strong>graph-init</strong>, яка знаходиться в правому нижньому куті Subgraph Studio.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0fff37898b6cfb62d8de6ab9c17b394c09ac18f328bfe933f4c7bf402cd5f932.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Коли CLI попросить вказати адресу смарт-контракту, вказуємо <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d">адресу проксі-смарт-контракта LensHub </a>(<strong>0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d</strong>) і підтверджуємо, що ми хочемо індексувати події як джерела даних. Ми хочемо націлитися на проксі-смарт-контракт, оскільки це смарт-контракт, з яким взаємодіють учасники Lens, і він буде випускати події як від реалізаційного смарт-контракту, так і від проксі-смарт-контракту.</p><p>Якщо CLI запитає нас про стартовий блок і ABI, ми можемо перейти на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://miniscan.xyz/">https://miniscan.xyz/</a> і ввести адресу проксі-смарт-контракту, щоб отримати ці дані.</p><p>Після авторизації <em>розгортайте підграф</em>!</p><p>Зараз цей підграф індексує проксі-смарт-контракт, але, як ми скоро побачимо, цей підграф ще не має можливості індексувати як реалізаційний, так і проксі-смарт-контракт. Нам потрібно, щоб наш підграф відображав подію <strong>PostCreated</strong>, визначену в реалізаційному смарт-контракті, яка виходить від проксі–смарт-контракту.</p><p>Перейдемо до вивчення цього питання:</p><p><strong>Проблема №1: Індексація смарт-контракту з проксі шаблоном</strong></p><p>Проксі-смарт-контракти генерують як свої події, так і події реалізації.</p><p>При створенні підграфа в <strong>graph-cli</strong>, CLI створює обробники подій і змінні за допомогою наданого ABI контракту. Цей ABI отримується з експлорера блоків, в якому розгорнуто смарт-контракт. Якщо CLI вказано на проксі-смарт-контракт, він отримає цю інформацію тільки з проксі, а не з його реалізації.</p><p><strong>Це означає, що наш поточний підграф не знає про подію</strong> PostCreated <strong>реалізованого смарт-контракту! Йому потрібні ABI, обробники подій і змінній цієї події</strong> PostCreated**!**</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bb974bbfb918f54e6ed497dc4d51f4f0325dd84e6724008f37fad0a040674945.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Можливий варіант вирішення A: Надати CLI і проксі, і реалізаційні смарт-контракти</strong></p><p>Оскільки ми індексуємо лише один проксі та один реалізаційний смарт-контракт, ми можемо надати CLI адреси обох смарт-контрактів. Таким чином, підграф індексуватиме будь-яку подію, що надходить як від проксі, так і від реалізаційного смарт-контракту.</p><hr><hr><p>Коли CLI запитує “Додати ще один контракт?”, ми можемо відповісти “<strong>так</strong>”, і просто індексувати обидва смарт-контракти і бачити всі події, випущені обома смарт-контрактами.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a7765a6c16d9dfe87b4946c0cb91dd7e116857204e2a61bb603182b55fba7b58.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>На жаль, можливий варіант вирішення А може не працювати у специфічних рідкісних випадках! У рідкісних випадках ABI в експлорері блоків не відображає реальний стан смарт-контракту.</strong></p><p>Якщо ми розглянемо код реалізаційного смарт-контракту Lens Protocol, то побачимо, що подія <strong>PostCreated</strong> міститься у файлі <strong>events.sol</strong>, однак її немає в ABI експлорера блоків.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/84d9f7a288e3f7849f2240821f429174012fcb65a4a808630b641c9ce4adc5f9.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Це означає, що використання CLI для отримання ABI реалізації не вирішить цю проблему, оскільки отриманий ABI не матиме важливих даних про подію PostCreated.</p><p>Давайте спробуємо інше рішення:</p><p><strong>Можливий варіант вирішення B: Ручне створення запису ABI  PostCreated</strong></p><p>Давайте вручну створимо ABI реалізації так, щоб наш підграф правильно фіксував подію <strong>PostCreated</strong>.</p><p>Щоб отримати запис ABI, який  відображає <strong>PostCreated</strong> належним чином, ми скомпілюємо <strong>events.sol</strong> в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://remix.ethereum.org/">Remix </a>(можна і будь-який інший фреймворк для смарт-контрактів), а потім скопіюємо і вставимо визначення події <strong>PostCreated</strong> в ABI нашого підграфа. Це має вирішити нашу проблему!</p><p>Розпочнемо з копіювання смарт-контракту <strong>events.sol</strong> з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://polygonscan.com/address/0xba97fc9137b7cbbbc7fcb70a87da645d917c902f#code">реалізаційного смарт-контракту LensHub</a> і розмістимо його в папці contracts нової сесії Remix IDE .</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a0021c6fae55b6399698ef7bae38b3a346c9761091f2ecb8042aa24f71b5302d.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Ви повинні побачити кілька рядків коду, що видає помилку. Ми можемо закоментувати ці рядки.</p><p>Причина, по якій ми можемо просто закоментувати ці частини, полягає в тому, що нам не потрібен весь файл для компіляції, лише подія <strong>PostCreated</strong>.</p><p>Перейдемо до компіляції <strong>events.sol</strong>:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/faf028f589c48cac6759f53eb1627975467a12a66ef2f2a1c42a8410cb7e6969.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Після компіляції знайдімо у папці <strong>artifacts</strong> ваш <strong>PostCreated</strong> ABI у <strong>Events.json</strong>:::</p><pre data-type="codeBlock" text="{
  &quot;anonymous&quot;: false,
  &quot;inputs&quot;: [
    {
      &quot;indexed&quot;: true,
      &quot;internalType&quot;: &quot;uint256&quot;,
      &quot;name&quot;: &quot;profileId&quot;,
      &quot;type&quot;: &quot;uint256&quot;
    },
    {
      &quot;indexed&quot;: true,
      &quot;internalType&quot;: &quot;uint256&quot;,
      &quot;name&quot;: &quot;pubId&quot;,
      &quot;type&quot;: &quot;uint256&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;string&quot;,
      &quot;name&quot;: &quot;contentURI&quot;,
      &quot;type&quot;: &quot;string&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;address&quot;,
      &quot;name&quot;: &quot;collectModule&quot;,
      &quot;type&quot;: &quot;address&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;bytes&quot;,
      &quot;name&quot;: &quot;collectModuleReturnData&quot;,
      &quot;type&quot;: &quot;bytes&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;address&quot;,
      &quot;name&quot;: &quot;referenceModule&quot;,
      &quot;type&quot;: &quot;address&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;bytes&quot;,
      &quot;name&quot;: &quot;referenceModuleReturnData&quot;,
      &quot;type&quot;: &quot;bytes&quot;
    },
    {
      &quot;indexed&quot;: false,
      &quot;internalType&quot;: &quot;uint256&quot;,
      &quot;name&quot;: &quot;timestamp&quot;,
      &quot;type&quot;: &quot;uint256&quot;
    }
  ],
  &quot;name&quot;: &quot;PostCreated&quot;,
  &quot;type&quot;: &quot;event&quot;
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"anonymous"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"inputs"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"profileId"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"pubId"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"string"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"contentURI"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"string"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"address"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"collectModule"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"address"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bytes"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"collectModuleReturnData"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bytes"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"address"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"referenceModule"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"address"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bytes"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"referenceModuleReturnData"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"bytes"</span>
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
    <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"indexed"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">false</span></span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"internalType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"timestamp"</span><span class="hljs-punctuation">,</span>
      <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"uint256"</span>
    <span class="hljs-punctuation">}</span>
  <span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"PostCreated"</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">"type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"event"</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>Отже, ось запис ABI, якого нам бракує!</p><p>Візьміть цей запис ABI, скопіюйте і вставте його в <strong>abi.json</strong> нашого підграфа. Тепер ABI нашого підграфа готовий, оскільки він може бачити подію <strong>PostCreated</strong>, що випускається реалізаційним смарт-контрактом, який проходить через проксі-смарт-контракт.</p><p><strong>Проблема №1 вирішена!</strong></p><p>Тепер, коли у нас є підграф, який точно бачить подію <strong>PostCreated</strong>, що проходить через проксі-смарт-контракт, який ми індексуємо, ми можемо перейти до вирішення нашої наступної проблеми.</p><p>Як ми пам&apos;ятаємо, початковим наміром створення нашого підграфа було перевірити, чи зможемо ми знайти ідентифікатор файлу для запуску File Data Sources. Однак, оскільки нам довелося вручну генерувати наш ABI, ми зіткнулися з іншою цікавою проблемою, яку потрібно вирішити.</p><p><strong>Проблема #2: Обробка події PostCreated</strong></p><p>Тепер, коли наш підграф може бачити подію <strong>PostCreated</strong>, потрібно розширити його для обробки даних події <strong>PostCreated</strong>. Зазвичай CLI робить це автоматично, але оскільки нам довелося вручну оновлювати ABI, також слід вручну розширити наш підграф. Це буде хорошою вправою для вивчення того, як обробляються дані в підграфах.</p><p><strong>Розв&apos;язання: Розширення підграфа для індексації події PostCreated</strong></p><p>Почнемо з нашого файлу <strong>subgraph.yaml</strong>, давайте додамо обробник події <strong>PostCreated</strong>, а також визначимо його змінну <strong>PostCreated</strong>:</p><pre data-type="codeBlock" text="specVersion: 0.0.5
schema:
  file: ./schema.graphql
dataSources:
  - kind: ethereum
    name: Contract
    network: matic
    source:
      address: &quot;0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d&quot;
      abi: Contract
      startBlock: 29735286
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PostCreated
      abis:
        - name: Contract
          file: ./abis/Contract.json
      eventHandlers:
        - event: PostCreated(indexed uint256,indexed uint256,string,address,bytes,address,bytes,uint256)
          handler: handlePostCreated
      file: ./src/contract.ts
"><code>specVersion: <span class="hljs-number">0</span><span class="hljs-number">.0</span><span class="hljs-number">.5</span>
schema:
  file: ./schema.graphql
dataSources:
  <span class="hljs-operator">-</span> kind: ethereum
    name: Contract
    network: matic
    source:
      <span class="hljs-keyword">address</span>: <span class="hljs-string">"0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d"</span>
      <span class="hljs-built_in">abi</span>: Contract
      startBlock: <span class="hljs-number">29735286</span>
    <span class="hljs-keyword">mapping</span>:
      kind: ethereum<span class="hljs-operator">/</span>events
      apiVersion: <span class="hljs-number">0</span><span class="hljs-number">.0</span><span class="hljs-number">.7</span>
      language: wasm<span class="hljs-operator">/</span>assemblyscript
      entities:
        <span class="hljs-operator">-</span> PostCreated
      abis:
        <span class="hljs-operator">-</span> name: Contract
          file: ./abis<span class="hljs-operator">/</span>Contract.json
      eventHandlers:
        <span class="hljs-operator">-</span> <span class="hljs-function"><span class="hljs-keyword">event</span>: <span class="hljs-title">PostCreated</span>(<span class="hljs-params"><span class="hljs-keyword">indexed</span> <span class="hljs-keyword">uint256</span>,<span class="hljs-keyword">indexed</span> <span class="hljs-keyword">uint256</span>,<span class="hljs-keyword">string</span>,<span class="hljs-keyword">address</span>,<span class="hljs-keyword">bytes</span>,<span class="hljs-keyword">address</span>,<span class="hljs-keyword">bytes</span>,<span class="hljs-keyword">uint256</span></span>)
          <span class="hljs-title">handler</span>: <span class="hljs-title">handlePostCreated</span>
      <span class="hljs-title">file</span>: ./<span class="hljs-title">src</span>/<span class="hljs-title"><span class="hljs-keyword">contract</span></span>.<span class="hljs-title">ts</span>
</span></code></pre><p>Тепер перейдемо до <strong>schema.graphql</strong>.</p><p>Тут ми додамо змінну <strong>PostCreated</strong>, яку щойно визначили у файлі subgraph.yaml. Ми не будемо включати всі поля події <strong>PostCreated</strong>, оскільки нам не потрібні всі ці дані. Нам потрібно лише перевірити, чи містить поле <strong>contentURI</strong> ідентифікатор файлу, щоб запустити File Data Sources.</p><pre data-type="codeBlock" text="type PostCreated @entity(immutable: true) {
  id: Bytes!
  ownerId: BigInt!
  contentURI: String!
  timestamp: BigInt!
}
"><code><span class="hljs-keyword">type</span> PostCreated @entity(<span class="hljs-keyword">immutable</span>: <span class="hljs-literal">true</span>) {
  id: Bytes<span class="hljs-operator">!</span>
  ownerId: BigInt<span class="hljs-operator">!</span>
  contentURI: String<span class="hljs-operator">!</span>
  timestamp: BigInt<span class="hljs-operator">!</span>
}
</code></pre><p>За допомогою маніфеста <strong>subgraph.yaml</strong> і <strong>schema.graphql</strong> готовими для обробки події <strong>PostCreated</strong> в мережі, ми можемо створити обробник <strong>handlePostCreated</strong> в нашому <strong>mappings.ts</strong>.</p><p>Перш ніж ми це зробимо, ми повинні запустити <strong>граф-код</strong> у нашому терміналі.</p><hr><p><strong><em>Порада</em></strong>*: кожного разу, коли ми змінюємо <strong>schema.graphql</strong>, ми повинні запускати <strong>граф-код</strong>, щоб оновити наші типи, оскільки ми імпортуємо ці автоматично згенеровані файли у верхній частині нашого *<strong>mappings.ts</strong> <em>.</em></p><hr><p>Прочитайте коментарі, щоб детальніше дізнатися про логіку нашого <strong>mappings.ts</strong>.</p><pre data-type="codeBlock" text="// Import the event helper code and rename to improve readability.
import { PostCreated as PostCreatedEvent } from &quot;../generated/Contract/Contract&quot;;

// Import the types generated from the schema we created.
import { PostCreated } from &quot;../generated/schema&quot;;

// Create a new entity with a unique ID. This unique ID is important,
// as it must be the same ID used in our `handlePostContent` handler built later
// in this tutorial.
export function handlePostCreated(event: PostCreatedEvent): void {
  let entity = new PostCreated(
    Bytes.fromUTF8(
      event.params.profileId.toString() + &quot;-&quot; + event.params.pubId.toString(),
    ),
  );

  // Send the `contentURI` emitted as an event parameter into our defined entity.
  // When this subgraph is deployed and indexing this property, we will look through
  // `contentURI` to see if we can find some IDs.
  entity.contentURI = event.params.contentURI;

  // Assign other parameters emitted from the event that might be helpful when
  // filtering.
  entity.ownerId = event.params.profileId;
  entity.timestamp = event.params.timestamp;

  entity.save();
}
"><code><span class="hljs-comment">// Import the event helper code and rename to improve readability.</span>
<span class="hljs-keyword">import</span> { <span class="hljs-title">PostCreated</span> <span class="hljs-title"><span class="hljs-keyword">as</span></span> <span class="hljs-title">PostCreatedEvent</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"../generated/Contract/Contract"</span>;

<span class="hljs-comment">// Import the types generated from the schema we created.</span>
<span class="hljs-keyword">import</span> { <span class="hljs-title">PostCreated</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"../generated/schema"</span>;

<span class="hljs-comment">// Create a new entity with a unique ID. This unique ID is important,</span>
<span class="hljs-comment">// as it must be the same ID used in our `handlePostContent` handler built later</span>
<span class="hljs-comment">// in this tutorial.</span>
export <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">handlePostCreated</span>(<span class="hljs-params"><span class="hljs-keyword">event</span>: PostCreatedEvent</span>): <span class="hljs-title">void</span> </span>{
  let entity <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> PostCreated(
    Bytes.fromUTF8(
      <span class="hljs-keyword">event</span>.params.profileId.toString() <span class="hljs-operator">+</span> <span class="hljs-string">"-"</span> <span class="hljs-operator">+</span> <span class="hljs-keyword">event</span>.params.pubId.toString(),
    ),
  );

  <span class="hljs-comment">// Send the `contentURI` emitted as an event parameter into our defined entity.</span>
  <span class="hljs-comment">// When this subgraph is deployed and indexing this property, we will look through</span>
  <span class="hljs-comment">// `contentURI` to see if we can find some IDs.</span>
  entity.contentURI <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.contentURI;

  <span class="hljs-comment">// Assign other parameters emitted from the event that might be helpful when</span>
  <span class="hljs-comment">// filtering.</span>
  entity.ownerId <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.profileId;
  entity.timestamp <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.timestamp;

  entity.save();
}
</code></pre><p>Ми оновили наші файли <strong>subgraph.yaml</strong>, <strong>schema.graphql</strong> та <strong>mappings.ts</strong>, щоб правильно відобразити наш оновлений ABI.</p><p><strong>Проблему №2 вирішено!</strong></p><p>Ми зіткнулися з двома проблемами і вирішили їх! <strong>Тепер настав час повторно розгорнути наш підграф.</strong></p><p>Поверніться до Subgraph Studio і запустіть команду <strong>graph-deploy</strong> для повторного розгортання.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6fd48b60274dbf1cc42d1ead6bd822cb67a8d458fc033c63754f28780731e3d8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Після розгортання запустіть ці два запити на Playground вашого підграфа, щоб побачити різні URI, які передаються через <strong>contentURI</strong>:</p><p><strong>Приклад запиту і відповіді Arweave</strong></p><pre data-type="codeBlock" text="{
  postCreateds(where: {contentURI_contains: &quot;arweave&quot;}, first: 1) {
    id
    contentURI
  }
}
"><code>{
  postCreateds(where: {contentURI_contains: <span class="hljs-string">"arweave"</span>}, first: <span class="hljs-number">1</span>) {
    id
    contentURI
  }
}
</code></pre><pre data-type="codeBlock" text="{
  &quot;data&quot;: {
    &quot;postCreateds&quot;: [
      {
        &quot;id&quot;: &quot;0x312d313030&quot;,
        &quot;contentURI&quot;: &quot;https://arweave.net/UjlOEosUyYqZ8oWlTi879YRTg9xyd5gUtKQ2zMSHQEg&quot;
      }
    ]
  }
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">"postCreateds"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
      <span class="hljs-punctuation">{</span>
        <span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"0x312d313030"</span><span class="hljs-punctuation">,</span>
        <span class="hljs-attr">"contentURI"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://arweave.net/UjlOEosUyYqZ8oWlTi879YRTg9xyd5gUtKQ2zMSHQEg"</span>
      <span class="hljs-punctuation">}</span>
    <span class="hljs-punctuation">]</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
</code></pre><p><strong>Приклад запиту і відповіді IPFS</strong></p><pre data-type="codeBlock" text="{
  postCreateds(where: { contentURI_contains: &quot;ipfs&quot; }, first: 1) {
    id
    contentURI
  }
}
"><code>{
  postCreateds(where: { contentURI_contains: <span class="hljs-string">"ipfs"</span> }, first: <span class="hljs-number">1</span>) {
    id
    contentURI
  }
}
</code></pre><pre data-type="codeBlock" text="{
  &quot;data&quot;: {
    &quot;postCreateds&quot;: [
      {
        &quot;id&quot;: &quot;0x312d31&quot;,
        &quot;contentURI&quot;: &quot;https://ipfs.infura.io/ipfs/QmR7baNsHXNXEThcZNSw1SpRu1ZvKjaCnakEemT94Ur9Pn&quot;
      }
    ]
  }
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">"postCreateds"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
      <span class="hljs-punctuation">{</span>
        <span class="hljs-attr">"id"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"0x312d31"</span><span class="hljs-punctuation">,</span>
        <span class="hljs-attr">"contentURI"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"https://ipfs.infura.io/ipfs/QmR7baNsHXNXEThcZNSw1SpRu1ZvKjaCnakEemT94Ur9Pn"</span>
      <span class="hljs-punctuation">}</span>
    <span class="hljs-punctuation">]</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>Ми знайшли ідентифікатори файлів у цих URI!</p><ul><li><p>Приклад ідентифікатора файлу Arweave: <strong>s9qinED7mYvrNrYTEbRlNb60bVT754LkVpQoW7Ffi24</strong></p></li><li><p>Приклад ідентифікатора файлу  IPFS: <strong>QmTWJEzcxxcPjnB8Xj8S4EUJ7RxHGkfcDfMZyYRcQz7eYN</strong></p></li></ul><p>Переходимо до другої специфікації нашого підграфа: <strong>індексація цих офф-чейн файлів з Arweave і IPFS за допомогою File Data Sources.</strong></p><hr><p><strong>Індексація офф-чейн файлів з Arweave та IPFS за допомогою File Data Sources</strong></p><p>У цьому розділі ми зосередимося на програмному запуску File Data Sources за допомогою знайдених ідентифікаторів файлів, а також на обробці цих офф-чейн даних.</p><p>Почнемо цей процес зі створення двох шаблонів підграфів для даних Arweave та IPFS:</p><p><strong>Специфікація шаблонів File Data Sources</strong></p><p>Ми створимо два шаблони. Один шаблон для Arweave, інший для IPFS. Кожен шаблон буде:</p><ul><li><p>мати унікальну назву.</p></li><li><p>називати змінну <strong>PostContent</strong> як сутність, що отримуватиме дані з Arweave та IPFS.</p></li><li><p>називати обробник <strong>handlePostContent</strong> як обробник для даних Arweave та IPFS, який передаватиме дані змінної PostContent.</p></li><li><p>підтримувати поділ даних в мережі та поза мережею. Детальніше про поділ даних та інші обмеження File Data Sources можна прочитати <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#limitations">тут</a>.</p></li></ul><p><strong>Додавання двох шаблонів до subgraph.yaml</strong></p><p>Ми додамо шаблони <strong>ArweaveContent</strong> і <strong>IpfsContent</strong> під проксі-смарт-контрактом, який ми вже індексуємо:</p><pre data-type="codeBlock" text="specVersion: 0.0.5
schema:
  file: ./schema.graphql
dataSources:
  - kind: ethereum
    name: Contract
    network: matic
    source:
      address: &quot;0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d&quot;
      abi: Contract
      startBlock: 29735286
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PostCreated
      abis:
        - name: Contract
          file: ./abis/Contract.json
      eventHandlers:
        - event: PostCreated(indexed uint256,indexed uint256,string,address,bytes,address,bytes,uint256)
          handler: handlePostCreated
      file: ./src/contract.ts
templates:
  - kind: file/arweave
    name: ArweaveContent
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PostContent
      abis:
        - name: Contract
          file: ./abis/Contract.json
      handler: handlePostContent
      file: ./src/contract.ts
  - kind: file/ipfs
    name: IpfsContent
    mapping:
      kind: ethereum/events
      apiVersion: 0.0.7
      language: wasm/assemblyscript
      entities:
        - PostContent
      abis:
        - name: Contract
          file: ./abis/Contract.json
      handler: handlePostContent
      file: ./src/contract.ts
"><code><span class="hljs-attr">specVersion:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.5</span>
<span class="hljs-attr">schema:</span>
  <span class="hljs-attr">file:</span> <span class="hljs-string">./schema.graphql</span>
<span class="hljs-attr">dataSources:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">kind:</span> <span class="hljs-string">ethereum</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">Contract</span>
    <span class="hljs-attr">network:</span> <span class="hljs-string">matic</span>
    <span class="hljs-attr">source:</span>
      <span class="hljs-attr">address:</span> <span class="hljs-string">"0xDb46d1Dc155634FbC732f92E853b10B288AD5a1d"</span>
      <span class="hljs-attr">abi:</span> <span class="hljs-string">Contract</span>
      <span class="hljs-attr">startBlock:</span> <span class="hljs-number">29735286</span>
    <span class="hljs-attr">mapping:</span>
      <span class="hljs-attr">kind:</span> <span class="hljs-string">ethereum/events</span>
      <span class="hljs-attr">apiVersion:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.7</span>
      <span class="hljs-attr">language:</span> <span class="hljs-string">wasm/assemblyscript</span>
      <span class="hljs-attr">entities:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-string">PostCreated</span>
      <span class="hljs-attr">abis:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Contract</span>
          <span class="hljs-attr">file:</span> <span class="hljs-string">./abis/Contract.json</span>
      <span class="hljs-attr">eventHandlers:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-attr">event:</span> <span class="hljs-string">PostCreated(indexed</span> <span class="hljs-string">uint256,indexed</span> <span class="hljs-string">uint256,string,address,bytes,address,bytes,uint256)</span>
          <span class="hljs-attr">handler:</span> <span class="hljs-string">handlePostCreated</span>
      <span class="hljs-attr">file:</span> <span class="hljs-string">./src/contract.ts</span>
<span class="hljs-attr">templates:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">kind:</span> <span class="hljs-string">file/arweave</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">ArweaveContent</span>
    <span class="hljs-attr">mapping:</span>
      <span class="hljs-attr">kind:</span> <span class="hljs-string">ethereum/events</span>
      <span class="hljs-attr">apiVersion:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.7</span>
      <span class="hljs-attr">language:</span> <span class="hljs-string">wasm/assemblyscript</span>
      <span class="hljs-attr">entities:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-string">PostContent</span>
      <span class="hljs-attr">abis:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Contract</span>
          <span class="hljs-attr">file:</span> <span class="hljs-string">./abis/Contract.json</span>
      <span class="hljs-attr">handler:</span> <span class="hljs-string">handlePostContent</span>
      <span class="hljs-attr">file:</span> <span class="hljs-string">./src/contract.ts</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">kind:</span> <span class="hljs-string">file/ipfs</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">IpfsContent</span>
    <span class="hljs-attr">mapping:</span>
      <span class="hljs-attr">kind:</span> <span class="hljs-string">ethereum/events</span>
      <span class="hljs-attr">apiVersion:</span> <span class="hljs-number">0.0</span><span class="hljs-number">.7</span>
      <span class="hljs-attr">language:</span> <span class="hljs-string">wasm/assemblyscript</span>
      <span class="hljs-attr">entities:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-string">PostContent</span>
      <span class="hljs-attr">abis:</span>
        <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Contract</span>
          <span class="hljs-attr">file:</span> <span class="hljs-string">./abis/Contract.json</span>
      <span class="hljs-attr">handler:</span> <span class="hljs-string">handlePostContent</span>
      <span class="hljs-attr">file:</span> <span class="hljs-string">./src/contract.ts</span>
</code></pre><p><strong>Розширення нашого підграфа для відображення нових шаблонів</strong></p><p>Наші шаблони посилаються на сутність <strong>PostContent</strong> і обробник <strong>handlePostContent</strong>. Давайте розширимо наш підграф, щоб відобразити ці зміни. Ми:</p><ul><li><p><strong>Створимо PostContent</strong> <strong>в schema.graphql</strong></p></li></ul><p>Це місце, де будуть зберігатися офф-чейн дані.</p><ul><li><p><strong>Оновимо handlePostCreated в mappings.ts</strong></p></li></ul><p>Сюди ми передамо ідентифікатори файлів, зібрані з мережевої події, у шаблон, використовуючи <strong>DataSourceTemplate.createWithContext()</strong>.</p><ul><li><p><strong>Створимо handlePostContent у mappings.ts</strong></p></li></ul><p>Після того, як File Data Sources спрацював, нам потрібно передати ці дані в змінну <strong>PostContent</strong>, яку ми раніше створили в <strong>schema.graphql</strong> .</p><p>Давайте приступимо до роботи!</p><p><strong>Створення змінної PostContent у schema.graphql</strong></p><p>Ця змінна буде зберігати вміст та ідентифікатор файлу, який запустив індексування File Data Source з файлів Arweave та IPFS.</p><pre data-type="codeBlock" text="type PostCreated @entity(immutable: true) {
  id: Bytes!
  ownerId: BigInt!
  contentURI: String!
  timestamp: BigInt!
}

type PostContent @entity(immutable: true) {
  id: Bytes!
  hash: String!
  content: String!
}
"><code><span class="hljs-keyword">type</span> PostCreated @entity(<span class="hljs-keyword">immutable</span>: <span class="hljs-literal">true</span>) {
  id: Bytes<span class="hljs-operator">!</span>
  ownerId: BigInt<span class="hljs-operator">!</span>
  contentURI: String<span class="hljs-operator">!</span>
  timestamp: BigInt<span class="hljs-operator">!</span>
}

<span class="hljs-keyword">type</span> PostContent @entity(<span class="hljs-keyword">immutable</span>: <span class="hljs-literal">true</span>) {
  id: Bytes<span class="hljs-operator">!</span>
  hash: String<span class="hljs-operator">!</span>
  content: String<span class="hljs-operator">!</span>
}
</code></pre><p><em>Зверніть увагу: ідентифікатор змінної є ідентифікатором самої змінної, а не офф-чейн файлу. Ідентифікатор офф-чейн файлу буде зберігатися як хеш.</em></p><hr><p><strong><em>Порада</em></strong>*: Кожного разу, коли ми створюємо змінну, яка є журналом подій, що містить мережеві або офф-чейн дані, без змін у <strong>mappings.ts</strong>, найкраще включити (<strong>immutable: true</strong>), як показано у фрагменті нижче, оскільки це значно пришвидшує індексацію. Читайте цей запис у<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/two-simple-subgraph-performance-improvements/"> блозі David Lutterkort</a>, щоб дізнатися більше про незмінні змінні та їхні переваги для продуктивності, .*</p><hr><p>Тепер у нашому <strong>subgraph.yaml</strong> є готові шаблони File Data Source, а наш schema.graphql готовий приймати дані як з мережевих, так і з офф-чейн джерел.</p><p>Перейдемо до розширення наших обробників в mappings.ts .</p><p><strong>Оновлення handlePostCreated</strong> <strong>в mappings.ts</strong></p><p>Заради цього туторіала, ми залишимо його простим, просто зібравши певні ідентифікатори з однієї визначеної структури URI для Arweave і IPFS. Просто знайте, що якби ми хотіли зібрати всі файли Arweave і IPFS, довелося б розробити більше стратегій для збору всіх різних повернених URI.</p><p><em>Читайте коментарі, щоб отримати покрокове пояснення.</em></p><pre data-type="codeBlock" text="// POST_ID_KEY will be used as the key for a key-value pair passed into the
// `context` argument in the createWithContext(name: string, params: string[], context: DataSourceContext)
const POST_ID_KEY = &quot;postID&quot;;

export function handlePostCreated(event: PostCreatedEvent): void {
  let entity = new PostCreated(
    Bytes.fromUTF8(
      event.params.profileId.toString() +
      &quot;-&quot; +
      event.params.pubId.toString()
    )
  );

  entity.ownerId = event.params.profileId;
  entity.contentURI = event.params.contentURI;
  entity.timestamp = event.params.timestamp;

  entity.save();

  // EXTRACT THE ID FROM OUR ENTITY
  // Find the index of where &quot;arweave.net&quot; or &quot;/ipfs/&quot; is within the contentURI.
  // This is a relatively naive way of finding whether the content is from
  // Arweave or IPFS. Feel free to extend this further to capture all the various
  // ways that IDs present in the Arweave and IPFS URIs.
  let arweaveIndex = entity.contentURI.indexOf(&quot;arweave.net/&quot;);
  let ipfsIndex = entity.contentURI.indexOf(&quot;/ipfs/&quot;);

  // If both arweave and ipfsIndex return -1, which means the strings were not found.
  // At that point, there&apos;s nothing else to do, so the function ends.
  if (arweaveIndex == -1 &amp;&amp; ipfsIndex == -1) return;

  // PREPARE `CONTEXT` - PASS IN OUR ID
  // DataSourceContext() is passed in a key,value pair that is converted into Bytes
  // to be passed into other handlers. The key was defined outside this function as
  // POST_ID_KEY and the value is the entity.id. This allows consistency between
  // handlers as the data is being indexed.
  let context = new DataSourceContext();
  context.setBytes(POST_ID_KEY, entity.id);

  // If Arweave data or IPFS data is found in the URI, the data hash is extracted
  // from contentURI. We now have the three variables we need! Pass them into
  // .createWithContext() to trigger File Data Sources indexing!
  if (arweaveIndex != -1) {
    let hash = entity.contentURI.substr(arweaveIndex + 12);
    DataSourceTemplate.createWithContext(&quot;ArweaveContent&quot;, [hash], context);

    return;
  }

  if (ipfsIndex != -1) {
    let hash = entity.contentURI.substr(ipfsIndex + 6);
    DataSourceTemplate.createWithContext(&quot;IpfsContent&quot;, [hash], context);
  }
}
"><code><span class="hljs-comment">// POST_ID_KEY will be used as the key for a key-value pair passed into the</span>
<span class="hljs-comment">// `context` argument in the createWithContext(name: string, params: string[], context: DataSourceContext)</span>
const POST_ID_KEY <span class="hljs-operator">=</span> <span class="hljs-string">"postID"</span>;

export <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">handlePostCreated</span>(<span class="hljs-params"><span class="hljs-keyword">event</span>: PostCreatedEvent</span>): <span class="hljs-title">void</span> </span>{
  let entity <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> PostCreated(
    Bytes.fromUTF8(
      <span class="hljs-keyword">event</span>.params.profileId.toString() <span class="hljs-operator">+</span>
      <span class="hljs-string">"-"</span> <span class="hljs-operator">+</span>
      <span class="hljs-keyword">event</span>.params.pubId.toString()
    )
  );

  entity.ownerId <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.profileId;
  entity.contentURI <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.contentURI;
  entity.timestamp <span class="hljs-operator">=</span> <span class="hljs-keyword">event</span>.params.timestamp;

  entity.save();

  <span class="hljs-comment">// EXTRACT THE ID FROM OUR ENTITY</span>
  <span class="hljs-comment">// Find the index of where "arweave.net" or "/ipfs/" is within the contentURI.</span>
  <span class="hljs-comment">// This is a relatively naive way of finding whether the content is from</span>
  <span class="hljs-comment">// Arweave or IPFS. Feel free to extend this further to capture all the various</span>
  <span class="hljs-comment">// ways that IDs present in the Arweave and IPFS URIs.</span>
  let arweaveIndex <span class="hljs-operator">=</span> entity.contentURI.indexOf(<span class="hljs-string">"arweave.net/"</span>);
  let ipfsIndex <span class="hljs-operator">=</span> entity.contentURI.indexOf(<span class="hljs-string">"/ipfs/"</span>);

  <span class="hljs-comment">// If both arweave and ipfsIndex return -1, which means the strings were not found.</span>
  <span class="hljs-comment">// At that point, there's nothing else to do, so the function ends.</span>
  <span class="hljs-keyword">if</span> (arweaveIndex <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">-1</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> ipfsIndex <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">-1</span>) <span class="hljs-keyword">return</span>;

  <span class="hljs-comment">// PREPARE `CONTEXT` - PASS IN OUR ID</span>
  <span class="hljs-comment">// DataSourceContext() is passed in a key,value pair that is converted into Bytes</span>
  <span class="hljs-comment">// to be passed into other handlers. The key was defined outside this function as</span>
  <span class="hljs-comment">// POST_ID_KEY and the value is the entity.id. This allows consistency between</span>
  <span class="hljs-comment">// handlers as the data is being indexed.</span>
  let context <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> DataSourceContext();
  context.setBytes(POST_ID_KEY, entity.id);

  <span class="hljs-comment">// If Arweave data or IPFS data is found in the URI, the data hash is extracted</span>
  <span class="hljs-comment">// from contentURI. We now have the three variables we need! Pass them into</span>
  <span class="hljs-comment">// .createWithContext() to trigger File Data Sources indexing!</span>
  <span class="hljs-keyword">if</span> (arweaveIndex <span class="hljs-operator">!</span><span class="hljs-operator">=</span> <span class="hljs-number">-1</span>) {
    let hash <span class="hljs-operator">=</span> entity.contentURI.substr(arweaveIndex <span class="hljs-operator">+</span> <span class="hljs-number">12</span>);
    DataSourceTemplate.createWithContext(<span class="hljs-string">"ArweaveContent"</span>, [hash], context);

    <span class="hljs-keyword">return</span>;
  }

  <span class="hljs-keyword">if</span> (ipfsIndex <span class="hljs-operator">!</span><span class="hljs-operator">=</span> <span class="hljs-number">-1</span>) {
    let hash <span class="hljs-operator">=</span> entity.contentURI.substr(ipfsIndex <span class="hljs-operator">+</span> <span class="hljs-number">6</span>);
    DataSourceTemplate.createWithContext(<span class="hljs-string">"IpfsContent"</span>, [hash], context);
  }
}
</code></pre><p>Тепер, коли ми запустили наші шаблони, вони шукають обробник <strong>handlePostContent</strong>, який буде обробляти отримані від них офф-чейн дані.</p><p><strong>Створіть handlePostContent</strong> <strong>у</strong> файлі <strong>mappings.ts</strong></p><pre data-type="codeBlock" text="export function handlePostContent(content: Bytes): void {
  // Remember DataSourceTemplate.createWithContext()? We can access
  // everything we just passed into that method here!
  // Gather the `hash` aka the ID with dataSource.stringParam()
  // Gather the `context` that has our ID encoded as Bytes as dataSource.context(),
  // then decode it.
  let hash = dataSource.stringParam();
  let context = dataSource.context();
  let id = context.getBytes(POST_ID_KEY);

  // We pass in the same ID used in the previous `PostCreated` handler here to
  // link the on-chain PostCreated ID with the off-chain PostContent id.
  let post = new PostContent(id);

  post.hash = hash;
  post.content = content.toString();

  post.save();
}
"><code>export <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">handlePostContent</span>(<span class="hljs-params">content: Bytes</span>): <span class="hljs-title">void</span> </span>{
  <span class="hljs-comment">// Remember DataSourceTemplate.createWithContext()? We can access</span>
  <span class="hljs-comment">// everything we just passed into that method here!</span>
  <span class="hljs-comment">// Gather the `hash` aka the ID with dataSource.stringParam()</span>
  <span class="hljs-comment">// Gather the `context` that has our ID encoded as Bytes as dataSource.context(),</span>
  <span class="hljs-comment">// then decode it.</span>
  let hash <span class="hljs-operator">=</span> dataSource.stringParam();
  let context <span class="hljs-operator">=</span> dataSource.context();
  let id <span class="hljs-operator">=</span> context.getBytes(POST_ID_KEY);

  <span class="hljs-comment">// We pass in the same ID used in the previous `PostCreated` handler here to</span>
  <span class="hljs-comment">// link the on-chain PostCreated ID with the off-chain PostContent id.</span>
  let post <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> PostContent(id);

  post.hash <span class="hljs-operator">=</span> hash;
  post.content <span class="hljs-operator">=</span> content.toString();

  post.save();
}
</code></pre><p>Перейдіть до розгортання підграфа, щоб почати індексацію за допомогою File Data Sources!</p><p>Надішліть цей запит через <strong>Playground</strong> від <strong>Subgraph Studio</strong>, щоб переконатися, чи отримуємо ми дані з Arweave та IPFS.</p><pre data-type="codeBlock" text="{
  postCreateds(first: 100) {
    id
    contentURI
  }
  postContents(first: 100) {
    id
    hash
    content
  }
}
"><code>{
  <span class="hljs-built_in">postCreateds</span>(first: <span class="hljs-number">100</span>) {
    id
    contentURI
  }
  <span class="hljs-built_in">postContents</span>(first: <span class="hljs-number">100</span>) {
    id
    hash
    <span class="hljs-attribute">content</span>
  }
}
</code></pre><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ba984c41be9de06bb5070bd25d2765a229e988beb2f69c32b8af9405e40f86d8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Тепер ми індексуємо за допомогою File Data Sources!</strong></p><p>Ось наш <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/66y54JQq5nSUPwruySqFPBM3FumChgcweEsFu2R9G12Y?view=Overview&amp;chain=arbitrum-one">підграф File Data Sources</a>, опублікований в мережі The Graph, а також фінальна версія <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-tooling/tree/main/examples/matic-lens-protocol-posts-subgraph">репозиторію</a>.</p><p>Звідси ми можемо зробити ще так багато речей!</p><ul><li><p>Розширюйте підграф далі, щоб розбирати дані JSON і заповнювати змінні. Погляньте, як це можна зробити у цьому <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/marcusrein/FDS-Workshop-Repo-2023/blob/main/src/beanz.ts">прикладі</a>.</p></li><li><p>Що, якщо ми захочемо створити децентралізований додаток з цими даними? Можна підключити цей підграф до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scaffoldeth.io/">ScaffoldEth</a> і продовжити розробку!</p></li><li><p>Використовуйте python для запиту цього підграфа за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://playgrounds.network/">Playgrounds </a>і аналізу даних.</p></li><li><p>Створюйте дашборди без коду за допомогою  <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dapplooker.com/home">DappLooker</a>.</p></li><li><p>Запускайте індексацію File Data Sources іншого офф-чейн файлу з іншого офф-чейн обробника. Ознайомтеся з цією <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/pull/4713">функцією</a>.</p></li></ul><p>Дякую, що приєдналися до мене в цій подорожі по індексації за допомогою File Data Sources. Я з нетерпінням чекаю на ваші розробки!</p><p>-</p><p>Marcus Rein</p><p>Developer Relations and Success</p><p>Edge &amp; Node - працює на The Graph</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/ac3bcbcbaf09513d5ee8c1065de68da4eea2e8ad3e6c2b956dfc99fc5dffa51e.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph станом на другий квартал 2023 року]]></title>
            <link>https://paragraph.com/@night0x/the-graph-2023</link>
            <guid>nHKMNGC4AlH7WIdl2lTf</guid>
            <pubDate>Tue, 07 May 2024 10:14:51 GMT</pubDate>
            <description><![CDATA[https://messari.io/report/state-of-the-graph-q4-2023?utm_medium=organic_social&utm_source=twitter_messari&utm_campaign=state_of_the_graph_q4_2023 Основні моменти:Станом на четвертий квартал 2023 року, 1509 підграфів були перенесені з хостингового сервісу The Graph до децентралізованої мережі, що більше на 14% кв/кв,, та на 144% р/р.Винагорода за індексацію зменшилася на 6% кв/кв та 7% р/р у вираженні GRT, оскільки річна інфляція GRT була нижчою за 3% протягом 2023 року. У доларовому еквівален...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/report/state-of-the-graph-q4-2023?utm_medium=organic_social&amp;utm_source=twitter_messari&amp;utm_campaign=state_of_the_graph_q4_2023">https://messari.io/report/state-of-the-graph-q4-2023?utm_medium=organic_social&amp;utm_source=twitter_messari&amp;utm_campaign=state_of_the_graph_q4_2023</a></p><p><strong>Основні моменти:</strong></p><ul><li><p>Станом на четвертий квартал 2023 року, <strong>1509 підграфів були перенесені з хостингового сервісу The Graph до децентралізованої мережі</strong>, що більше на 14% кв/кв,, та на 144% р/р.</p></li><li><p>Винагорода за індексацію зменшилася на 6% кв/кв та 7% р/р у вираженні GRT, оскільки <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/indexing/#what-are-the-revenue-streams-for-an-indexer"><strong>річна інфляція GRT</strong></a><strong> була нижчою за 3% протягом 2023 року. У доларовому еквіваленті винагорода за індексацію зросла на 24% кв/кв до майже 10 мільйонів доларів США</strong>, що зумовлено зростанням обмінного курсу GRT до долара США.</p></li><li><p><strong>Дохід від попиту  знизився на 10% кв/кв та 65% р/р в доларах США</strong> через оптимізацію цін на запити. У GRT еквіваленті дохід від попиту знизився на 25% кв/кв та 80% р/р.</p></li><li><p><strong>The Graph випустив </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/"><strong>індексатор оновлень</strong></a><strong>. Він дозволяє розробникам оновлювати свої підграфи з хостингових сервісів до мережі The Graph</strong> (децентралізована мережа) в рамках більш масштабного плану <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/">“sunrise” децентралізованих даних</a>.</p></li><li><p>The Graph випустили <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-roadmap-new-era/">стратегію розвитку</a> <strong>для задоволення потреб у сервісах обробки даних</strong>, від покращення інструментарію індексатора до нових сервісів обробки даних, таких як SQL, файловий хостинг та LLM.</p></li></ul><p><strong>Вступ</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/en/">The Graph</a> - це протокол індексування, який з широкого спектру джерел надає ончейн дані, такі як транзакції DeFi або дані пулу ліквідності. Він позбавляє споживачів даних (наприклад, розробників додатків) потреби створювати складну інфраструктуру для отримання ончейн даних. Замість цього споживачі даних платять за запити до спеціальних API ончейн даних, які називаються <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/defining-a-subgraph/">підграфами</a>, через <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/querying/graphql-api/">API GraphQL</a>. Підграфи визначають схему даних для індексації, що робить їх доступними для запитів. Будь-хто може розробляти і запитувати підграфи.</p><p>Щоб забезпечити правильну та ефективну роботу протоколу, мережа The  Graph заохочує роботу кількох ключових ролей у своїй екосистемі як технічних, так і нетехнічних учасників:</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/indexing/">Індексатори</a> обробляють і зберігають ончейн дані з підграфів. Зазвичай вони володіють поглибленими технічними знаннями для роботи з нодами. За це індексатори отримують плату за запити від споживачів даних та винагороду за індексацію з випуску нових токенів.</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/curating/">Куратори</a> економічно зацікавлені в тому, щоб аналізувати і ділитися тим, які підграфи є цінними для індексації. Куратори отримують 10% від плати за запити, що генеруються певними підграфами.</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/delegating/">Делегати</a> не використовують ресурси для індексації ончейн даних; замість цього вони делегують індексаторам токен <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/asset/the-graph">GRT</a>, який є службовим токеном The Graph. Натомість делегати отримують частину оплати за запити та винагороду за індексацію, не запускаючи власні ноди.</p></li></ul><p>Станом на четвертий квартал 2024 року децентралізований протокол The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/supported-networks/">підтримує</a> сім мереж з винагородою за індексацію: Ethereum, Polygon, Arbitrum, Avalanche, Fantom, Optimism, Gnosis Chain і Celo. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">Індексатор оновлень</a> підтримує ще 25+ мереж і тестнетів, винагороди за індексацію яких очікують на схвалення керівництва <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/chain-integration-process/">Chain Integration Process</a>.</p><p>Екосистема The Graph завершила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/">перехід на Arbitrum One</a> (L2), щоб зменшити витрати на газ і час транзакцій. Частиною цього переходу є <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/arbitrum/l2-transfer-tools-guide/">інструменти переходу на L2</a>, спрямовані на те, щоб  допомогти всім делегатам та індексаторам спростити перехід на L2.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">Веб-сайт</a> / <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol">Twitter </a>/ <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord</a></p><p><strong>Ключові показники</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6816d683ae4b56b5ec6eab99b6e0a2b4d8fe8623714d5037933649dd17675caa.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Аналіз продуктивності</strong></p><p>Мережа The Graph використовується розробниками децентралізованих додатків та споживачами даних, які платять за запити до даних підграфів. Продуктивність мережі можна виміряти за зростанням кількості активних підграфів, доходами мережі від плати за запити та активністю ключових учасників екосистеми: індексаторів, делегатів та кураторів.</p><p><strong>Використання</strong></p><p><strong>Підграфи</strong></p><p>Для запуску The Graph спочатку було створено хостинговий сервіс. Цей сервіс розміщує підграфи в міру того, як протокол поступово переходить до своєї децентралізованої мережі. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/developer-faqs/#25-will-the-hosted-service-start-charging-query-fees">Хостинговий сервіс є безкоштовним</a> (підтримується екосистемою The Graph) і складається з інфраструктури індексації, якою керує команда <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, що стоїть за створенням The Graph.</p><p>Перший децентралізований підграф був запущений (в децентралізованій мережі) у першому кварталі 2021 року. Станом на четвертий квартал 2023 року, The Graph представляє собою гібрид хостингового сервісу та децентралізованої мережі.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7aabc48ede0ded5a00df856ada76fa3d05c9c7c980a6f8c451b1a0b4294dd82b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Протягом останніх п&apos;яти кварталів кількість запущених у мережі The Graph підграфів стрімко зростає. Станом на грудень 2023 року в децентралізованій мережі налічується 1509 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer">активних підграфів</a>, що на 14% більше порівняно з кількістю, що становить 1322  підграфи наприкінці третього кварталу 2023 року. На відміну від хостингового сервісу, у мережі The Graph споживачі даних повинні платити за кожен запит індексаторам. Ці кошти за запити далі розподіляються індексаторами між делегатами та кураторами.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a9c42c2c64f45e886da3a7f21e6b6154f60282ca888ea43094c2e0edcc694799.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Очікується, що кількість підграфів, розгорнутих у мережі The Graph, продовжуватиме зростати. Спільнота The Graph прагне <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-graphs-core-r-d-call-14/3445#hosted-service-sunset-2">оновити всі підграфи</a> з хостингового сервісу до децентралізованої мережі, оскільки <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/chain-integration-overview/">все більше мереж інтегруються в основну децентралізовану мережу</a>. Водночас, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">індексатор оновлень</a> дозволяє розробникам оновлювати свої підграфи з хостингового сервісу до мережі The Graph (децентралізованої мережі) в рамках  масштабного плану <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/">“sunrise” децентралізованих даних</a>.</p><p><strong>Участь в роботі екосистеми</strong></p><p>Підграфи надають місце для взаємодії як технічних, так і нетехнічних учасників екосистеми:</p><ul><li><p><strong><em>Індексатори</em></strong> працюють з нодами Graph для обробки та зберігання даних в мережі. Споживачі даних можуть запитувати ці дані через GraphQL, мову з відкритим вихідним кодом для API The Graph.</p></li><li><p><strong><em>Куратори</em></strong> повідомляють індексаторам, які підграфи варто індексувати. Куратори також часто виступають в ролі розробників підграфів.</p></li><li><p><strong><em>Делегати</em></strong> - це учасники екосистеми, які можуть не мати технічних знань або ресурсів для індексації, вони можуть делегувати GRT токени індексаторам.</p></li></ul><p>Заcтейкані GRT токени необхідні для індексації підграфів. Так як індексатори отримують більше GRT через делегування, вони збільшують свої можливості індексувати більшу кількість підграфів у мережі. Індексатори заробляють на своїх послугах з індексування та обробки запитів на ринку запитів The Graph, стейкаючи GRT.</p><p>Мінімальний стейке для індексатора наразі становить 100 000 GRT (майже $19 000 станом на 31 грудня 2023 року). Крім цього мінімуму, індексатори також можуть отримувати делеговану частку від інших учасників екосистеми. Делегати можуть збільшити загальний стейк до 16-кратного розміру від власного стейку індексатора.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/eac1512af5ed37b971a1c9948825275da1889f0beb47ce3198081ddbfe32033e.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>За підтримки кампанії <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.coinbase.com/earn">Coinbase Earn</a>, кількість делегатів зросла на 131% кв/кв і майже досягла 90 000 в четвертому кварталі 2023 року, після зростання на 240% кв/кв у третьому кварталі 2023 року. Водночас кількість індексаторів, що активно стейкали GRT, зменшилась на 41% і складала 169 на кінець четвертого кварталу 2023 року, що відрізняється від пікового показника у 460 інвесторів на кінець першого кварталу 2023 року. Таке постійне зменшення кількості інвесторів може бути пов&apos;язане із завершенням програми <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/mips-multi-chain-indexing-incentivized-program/">Multi-Chain Incentivized Program</a> The Graph наприкінці першого кварталу 2023 року, а також з тим, що деякі індексатори одночасно анстейкають власні GRT токени. Така поведінка натякає на потенційну залежність індексаторів від винагороди, оскільки вони намагаються збалансувати операційні витрати з доходами, отриманими від стейкінгу GRT та обслуговування запитів у децентралізованій мережі The Graph.</p><p><strong>Прибуток</strong></p><p>Токен GRT працює за моделлю <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/report/how-are-web3-infrastructure-protocols-trying-to-capture-value">Stake-for-Access</a>, також відомою як модель <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-grt-token-economics">службових (utility) токенів</a>. Учасники екосистеми The Graph отримують дохід у GRT, виконуючи роботу у вигляді індексації та запитів у децентралізованій мережі. Обидва сервіси вимагають стейкання GRT. Частка індексаторів складається з їхніх власних токенів GRT (тобто власний стейк) і делегованих їм GRT (тобто делегований стейк).</p><p>Винагорода за індексацію та плата за запити, яку сплачують споживачі даних є двома основними джерелами доходу для індексаторів. Доходи від винагороди за індексацію та плати за запити проходять через індексаторів, які потім розподіляють їх між делегатами та кураторами.</p><p>Кожен індексатор може самостійно <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.academy/delegators/choosing-indexers/">визначати власну індивідуальну частку оплати за запити та винагороди за індексацію</a> відповідно до умов відкритого ринку. Відповідно до цієї індивідуальної частки, кожен індексатор <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/indexing/#what-is-query-fee-cut-and-indexing-reward-cut">ділить</a> винагороду за індексацію і плату за запити з делегатами, тоді як куратори отримують 10% від плати за запити, які генеруються певними підграфами.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/a9ad72bd2c4c41912fe9e8f6230cf8859dcdb7cbe3f46e257ed883225fbeafff.gif" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Згідно з наведеним вище прикладом, якщо індексатор знизить плату за запити до 13,96%, його делегати отримають решту 86,04% доходу від плати за запити пропорційно до застейканих токенів. Хоча стейк делегата не може бути slashed, тобто оштрафований, все ж делегати повинні враховувати кілька <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/delegating/">факторів </a>при стейкі GRT токенів на певних індексаторів. Ці фактори стосуються таких чинників:</p><ul><li><p><strong><em>Вибір індексатора</em></strong>, тобто вибір ефективних індексаторів з найоптимальнішим балансом між виплатами винагороди та “шкури у грі”* від розподілу власної частки.</p></li><li><p><strong><em>Період анбоудингу</em></strong>, тобто жодні перекази GRT або отримання винагороди неможливі протягом 28-денного періоду розблокування або так званого анбоудингу.</p></li><li><p><strong><em>Податок на делегування в розмірі 0,5%</em></strong>, тобто розрахунок того, скільки потрібно часу на повернення внесення на делегування в розмірі 0,5%.</p></li></ul><p><strong>Індексація винагород</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/661588c8d7bcbd285a18e77456ce633d08f38b4939eacf77da79a5603d331eac.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Винагорода за індексацію залежить від <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/network/indexing/#what-are-the-revenue-streams-for-an-indexer">річного рівня інфляції</a> на рівні менше 3%, який визначається на основі <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io/address/0x9ac758ab77733b4150a901ebd659cbf8cb93ed66#readProxyContract">ставки емісії</a> GRT. Винагорода розподіляється між індексаторами, що мають частку в капіталі, в обмін на надання послуг з індексування та запитів на відкритому ринку The Graph.</p><p>Винагорода за індексацію зросла на 24% кв/кв до майже $10 млн у четвертому кварталі 2023 року, головним чином через зростання вартості токена GRT у доларах США. У термінах GRT винагорода за індексацію зменшилася на 6% кв/кв з 79,6 млн GRT у третьому кварталі 2023 року  до 74,6 млн GRT у четвертому кварталі 2023 року. Це зниження обсягу винагород за індексацію є наслідком <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/66983cb4-afe2-443f-9d7b-17217dd2b686?daoSlug=the-graph-governance&amp;daoTab=proposals">рішення управління</a> встановити рівень емісії протоколу на рівні початкових 3% до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethereum.org/en/roadmap/merge/">злиття </a>The Graph у вересні 2022 року.</p><p>Для порівняння, кількість блоків, створених на Ethereum, після злиття збільшилася. У зв’язку  з цим винагорода GRT, що видається за блок, зросла до 3,2% протягом приблизно одного місяця у четвертому кварталі 2022 року. Це призвело до того, що загальна сума квартальних винагород перевищила 80 млн GRT ($6,0 млн). Після четвертого кварталу 2022 року квартальні винагороди за індексацію залишалися нижче позначки у 80 млн GRT.</p><p><strong>Плата за запити (плата за користування мережею)</strong></p><p>Хоча основну частину доходів індексатори отримують від винагород, другим джерелом доходу в мережі The Graph є плата за запити (дохід від попиту). Споживачі даних (наприклад, розробники додатків) платять індексаторам за отримання та організацію даних. Станом на четвертий квартал 2023 року, The Graph постачає дані таким проектам, як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/FDrqtqbp8LhG1hSnwtWB2hE6C97FWA54irrozjb2TtMH?view=Curators&amp;chain=mainnet">Polygon</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/9Adb6tGrHueFmfvYw7XXvC7VF6L55a2eWrULAWeyb7jd?view=Overview&amp;chain=arbitrum-one">Art Blocks</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/subgraphs/8Z15oyPLRCYzVdNbjKSU2iD8BE6Sj8PZRV4KddDuvuk2?view=Overview&amp;chain=arbitrum-one">Loopring</a>.</p><p>Плата за запити визначається ринковим попитом і розподіляється між кураторами, індексаторами та делегатами.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/21fcf0f11a164cccb227ec57551ead0ddc23a19436c73041e39b369642ffecd1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Загальний дохід від виплат за запити знизився на 10% кв/кв у доларовому еквіваленті після досягнення історичного максимуму у першому кварталі 2023 року. Таке зниження доходу з боку попиту в доларовому еквіваленті переважно зумовлене оптимізацією ціноутворення запитів.</p><p>У четвертому кварталі 2023 року для The Graph загальний дохід від плати за запити (понад $22 000) склав 0,2% від загального доходу від винагород за індексацію (приблизно $9,9 млн). Такий розподіл свідчить про те, що учасники мережі The Graph все ще сильно покладаються на винагороду за індексацію для забезпечення своєї повсякденної діяльності.</p><p><strong>Якісний аналіз</strong></p><p><strong>Релізи</strong></p><p><strong>Optimism став доступним у мережі The Graph</strong></p><p>У мережі The Graph додано повну підтримку підграфів <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol/status/1737507438486593800?s=20">Optimism</a> і підграфів на основі підпотоків (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/2a965627-5f6d-426f-8609-0d3c1af2b800">SPS</a>). Новий Chain Integration Process (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/chain-integration-process/">CIP</a>) дозволяє отримувати винагороди для підграфів на Optimism і підграфів на основі підпотоків. Ці інтеграції розширюють можливості протоколу, з подальшим оновленням офіційної документації та матриці підтримки після схвалення Радою The Graph. Одночасно ведуться попередні обговорення щодо додавання підтримки <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/88a299ed-d344-43b8-991f-678129d37adf">Astar zkEVM</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/3315db0c-a29d-4ab0-a0d4-02491c5efab8">Kava Mainnet</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/7e784acd-2ee4-4e92-aa95-ab39392038b3">BEVM Canary</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/d52a326f-925e-4c1d-bc21-b3d19a165f47">opBNB</a>.</p><p><strong>Нові функції підграфів</strong></p><p>Ця <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/5e03ad2a-c3d5-43d0-8c4e-267d1fa23bd2">успішна пропозиція</a> оновила раніше затверджену матрицю підтримки функцій для Graph-ноди V0.33.0. Оновлення <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node">Graph-ноди</a> V0.33.0 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases/tag/v0.33.0-rc.0">вводить</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases/tag/v0.33.0">ряд нових функцій</a>, включаючи файлові джерела даних Arweave, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/substreams-powered-subgraphs/">підвищення продуктивності</a> підграфів на основі підпотоків (SPS), фільтр обробника блоків опитування, DataSourceContext у маніфесті, різні виправлення помилок та інші незначні зміни.</p><p><strong>Індексатор оновлень</strong></p><p>Основна команда розробників The Graph, Edge &amp; Node, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">оголосила </a>про створення <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/edge-node-to-spin-up-an-upgrade-indexer/4498">“індексатора оновлень”</a> - механізму, який спрямований на спрощення оновлення підграфів з хостингового сервісу. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">Запропоноване рішення</a> забезпечить наявність індексатора, готового до обслуговування запитів одразу після того, як підграф буде опубліковано в мережі. Крім того, індексатор оновлень дозволить розробникам підграфів оновлювати підграфи з хостингового сервісу в мережу The Graph без витрат на газ та надаватиме попередньо синхронізовані підграфи для негайного використання.</p><p>Індексатор оновлень не отримуватиме винагороди за індексацію; натомість, він призначений лише для отримання “мінімально вигідних зборів за запити”. Всі індексатори матимуть можливість взяти участь в якості індексаторів оновлення без запиту на дозвіл.</p><p><strong>Substreams.dev</strong></p><p>Платформа <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.substreams.dev/">Substreams.dev</a> від основного розробника StreamingFast має на меті допомогти розробникам у роботі з підпотоками в середовищі, подібному іншим рішенням для управління програмними компонентами. Платформа спрямована на те, щоб стати основним центром для всього розвитку підпотоків.</p><p><strong>Основні рішення</strong></p><p><strong>Збільшення винагороди на L2 до 95% (GIP-0033)</strong></p><p>Ця <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/5d3afff5-e6f3-4131-91a3-9d34269c9e67">успішна пропозиція</a> збільшила винагороду L2 до 95% від загальної емісії (тобто приблизно 115 GRT за блок) на Arbitrum One 27 листопада 2023 року. Одночасно з цим було зменшено емісію L1 до 5% (тобто приблизно 6 GRT за блок) і відповідно відрегулювали допуск на мінт L1 мостів.</p><p><strong>Оптимізація плати за запити для індексаторів (GIP-0063)</strong></p><p>Ця <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/gip-0063-optimizing-query-fees-sent-to-indexers/4802">пропозиція </a>спрямована на усунення неефективного в даний час стимулу (11% від плати за запити) для сторонніх кураторів і натомість перенаправлення цього стимулу індексаторам. Запропоноване рішення полягає в тому, щоб вилучити 10% маршрутизації від скорочення зборів за запити з пулу кураторів до індексаторів і “спалити” 1% зборів за запити. Хоча спочатку курація була розроблена для стимулювання незалежних третіх сторін до виявлення “цінних” підграфів, вона фактично працювала як “самосигналізація”, тобто не виконуючи свого призначення. Ця зміна буде застосована лише до протоколу Arbitrum. Одночасно:</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/a7c02420-52a7-42b7-8151-92f32c1affb8">GGP-0034</a> : вилучено обмеження на сплату зборів за запити до індексаторів у мережі для конкретних організацій, затверджених керівництвом;</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/3f01c23b-fe13-4888-9c12-184332c87ee0">GGP-0035</a> :  скасовано функцію тайм-ауту параметра делегування, яка визначала, як довго індексатор повинен чекати перед встановленням плати за запит делегування і скорочення винагороди.</p></li></ul><p>Водночас, пропозиція вказує на необхідність досліджень альтернативних механізмів курації для протоколу The Graph у майбутньому.</p><p><strong>Спільнота</strong></p><p><strong>Оновлений план етапу Sunrise децентралізованих даних</strong></p><p>У грудні 2023 року команда The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/graphprotocol/status/1736800474269954099?s=20">розпочала</a> перший етап проекту Sunrise децентралізованих даних. Основні розробники наразі розробляють інтерфейс оновлення, щоб допомогти іншим мережам оновити підграфи з хостингового сервісу до мережі The Graph.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/">План</a>, спрямований на полегшення переходу потенційних користувачів до мережі The Graph, складається з трьох етапів:</p><ol><li><p><strong>Sunray</strong>: надання підтримки всім мережам хостингових сервісів через <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/intel/event/d1607030-d37b-4b24-ae59-33ce78ace4d4">індексатор оновлень</a>; запровадження простого процесу оновлення, щоб допомогти користувачам хостингового сервісу оновити підграфи до мережі The Graph; пропозиція безкоштовного плану запитів до мережі The Graph.</p></li><li><p><strong>Sunbeam</strong>: запровадити 60-денне вікно оновлення для оновлення підграфів хостингового сервісу зі спеціальною підтримкою оновлення.</p></li><li><p><strong>Sunrise</strong>: кінцеві точки хостингового сервісу будуть виведені з експлуатації, коли всі підграфи будуть оновлені до мережі The Graph.</p></li></ol><p><strong>Досвід розробників підграфів</strong></p><p>Ця <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/governor/proposal/ce88483f-a402-4adc-ae9e-dcfdee9cbe72">попередня дискусія</a> стосується надання суми у розмірі $40,675 на фінансування OpenUX для завершення дослідження щодо досвіду розробників, які тільки починають працювати з підграфами, розробників, які нещодавно почали розробляти і обслуговувати свої власні підграфи, і розробників, які вже знайомі з API підграфів.</p><p><strong>Підтримка BuildersDAO та InfraDAO</strong></p><p>Два DAO розширили свою діяльність в екосистемі The Graph. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/GraphBuilders">BuildersDAO </a>зосереджені на підграфах та підпотоках, при цьому DAO надає підтримку розробникам, які активно використовують або розробляють нові підграфи та підпотоки. BuildersDAO також славиться своїм освітнім підрозділом, який створює контент для найкращих практик розробки різних служб обробки даних на The Graph.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/Infra_DAO">InfraDAO</a> має на меті забезпечити дослідження і розробку, інструменти та документацію для екосистеми The Graph. Крім того, InfraDAO також спеціалізується на інструментах Chain Integration Process (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/chain-integration-process/">CIP</a>), що дозволяє новим мережам інтегруватися в мережу The Graph і згодом мати змогу отримувати винагороди за індексацію.</p><p><strong>Нові основні розробники: Pinax та Geo</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://pinax.network/en">Pinax</a> має на меті вдосконалити мережу The Graph, зосереджуючись на Firehose і підпотоках. Pinax підтримує впровадження та масштабування цих технологій за допомогою інструментів та бібліотек, підтримуючи нові мережі та навчаючи нових користувачів The Graph за допомогою різних форм контенту та участі у роботі спільноти. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.geobrowser.io/">Geo</a> - це web3-браузер і граф знань, побудований на основі The Graph. Команда, що стоїть за Geo, має на меті впорядкувати світові суспільні знання та інформацію.</p><p><strong>Стратегія розвитку: Нова ера The Graph</strong></p><p>The Graph Foundation <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/intel/event/d2c6530e-6e4f-4f58-b7cc-5afd10e4b386">поділися</a> деталями своєї нової стратегії розвитку (під назвою “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-roadmap-new-era/">Нова ера</a>”) та п&apos;ятьма основними цілями, спрямованими на задоволення потреб у сервісах обробки даних. Кожна мета підтримує етапи для розвитку досліджень і розробок та зростання екосистеми:</p><ul><li><p><strong>Світ сервісів обробки даних</strong>: Створення ринку послуг передачі даних в мережі.</p></li><li><p><strong>Розширення прав і можливостей розробників</strong>: Підтримка розробників за допомогою удосконаленого DevEx та інструментарію.</p></li><li><p><strong>Еволюція та стійкість протоколу</strong>: Вдосконалення протоколу.</p></li><li><p><strong>Оптимізована продуктивність індексатора</strong>: Покращення продуктивності мережі шляхом удосконалення інструментарію індексатора.</p></li><li><p><strong>Узгоджений граф даних</strong>: Створення інструментів для даних, які можна комбінувати, і графів знань.</p></li></ul><p>Ця оновлена стратегія розвитку має на меті врахувати варіанти використання, включаючи дані, які можна перевірити, нові мови запитів і підтримку LLM, служачи розробникам, які використовують The Graph.</p><p><strong>Заключні висновки</strong></p><p>Протягом 2023 року мережа The Graph об&apos;єднала <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/supported-networks/">сім мереж</a> і випустила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">індексатор оновлень</a> для підтримки оновлення всіх підграфів. Одночасно екосистема The Graph завершила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/">перехід на Arbitrum One</a> (L2), щоб зменшити витрати на газ і час транзакцій.</p><p>Станом на грудень 2023 року, The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/graphprotocol/status/1736800474269954099?s=20">розпочав</a> першу фазу <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/sunrise/">sunrise  децентралізованих даних</a>. Протокол також випустив <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-roadmap-new-era/">стратегію розвитку</a> для вирішення проблем у службах обробки даних - від вдосконалення інструментарію індексатора до використання штучного інтелекту і LLM для спрощення взаємодії з даними.</p><p>У четвертому кварталі 2023 року дохід від винагород за індексацію зріс на 24% кв/кв та 65% р/р до майже 10 мільйонів доларів США. У GRT винагороди за індексацію знизилися на 6% кв/кв та 7% р/р. Дохід від попиту в доларовому еквіваленті знизився на 10% кв/кв і 65% р/р, передусім через оптимізацію вартості запитів. У GRT дохід від попиту знизився на 25% кв/кв та 80% р/р.</p><p>З початку 2021 року, The Graph зосередився на міграції з хостингового сервісу до децентралізованої мережі. Станом на четвертий квартал 2023 року, 1509 підграфів було перенесело з хостингового сервісу The Graph до децентралізованої мережі, що на 14% більше, ніж у попередньому кварталі. Паралельно з перенесенням більшої кількості підграфів до децентралізованої мережі в найближчі квартали, The Graph продовжуватиме усунення технічних бар&apos;єрів для розробників, що в кінцевому підсумку призведе до більш швидкого впровадження інновацій у всьому крипто просторі.*<em>skin-in-the-game вживається у середовищі гравців азартних ігор, фінансистів, бізнесу, а також щодо політиків. Мати «шкуру у грі» — значить отримати ризик втрати грошей на шляху до досягнення мети</em></p><p><em>Messari is a Core Subgraph Developer for The Graph and the recipient of a grant from The Graph Foundation. Author(s) may hold cryptocurrencies named in this report, and each author is subject to Messari’s Code of Conduct and Insider Trading Policy. Additionally, employees are required to disclose their holdings, which are updated monthly and published here. This report is meant for informational purposes only and should not be relied upon. This report is neither financial nor investment advice. You should conduct your own research, and consult an independent financial, tax, or legal advisor before making any investment decisions. Nothing contained in this report is a recommendation or suggestion, directly or indirectly, to buy, sell, make, or hold any investment, loan, commodity, or security, or to undertake any investment or trading strategy with respect to any investment, loan, commodity, security, or any issuer. This report should not be construed as an offer to sell or the solicitation of an offer to buy any security or commodity. Messari does not guarantee the sequence, accuracy, completeness, or timeliness of any information provided in this report. Please see our Terms of Service for more information.</em></p><p><em>No part of this report may be (a) copied, photocopied, duplicated in any form by any means or (b) redistributed without the prior written consent of Messari®.</em></p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
        <item>
            <title><![CDATA[The Graph’s Community Talk #31]]></title>
            <link>https://paragraph.com/@night0x/the-graph-s-community-talk-31</link>
            <guid>9Xt2GnWWYf2HmjNlizB4</guid>
            <pubDate>Tue, 07 May 2024 10:10:22 GMT</pubDate>
            <description><![CDATA[https://forum.thegraph.com/t/the-graphs-community-talk-31/5179 Зустріч зі спільнотою відбулася у вівторок, 16 січня, о 8 ранку за PST. The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на Discord. Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію. Детальні записи по кожній з тем з часови...]]></description>
            <content:encoded><![CDATA[<div data-type="youtube" videoId="V3hNrREqcEA">
      <div class="youtube-player" data-id="V3hNrREqcEA" style="background-image: url('https://i.ytimg.com/vi/V3hNrREqcEA/hqdefault.jpg'); background-size: cover; background-position: center">
        <a href="https://www.youtube.com/watch?v=V3hNrREqcEA">
          <img src="{{DOMAIN}}/editor/youtube/play.png" class="play"/>
        </a>
      </div></div><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-graphs-community-talk-31/5179">https://forum.thegraph.com/t/the-graphs-community-talk-31/5179</a></p><p>Зустріч зі спільнотою відбулася у вівторок, 16 січня, о 8 ранку за PST.</p><p>The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">Discord</a>.</p><p>Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію.</p><p>Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче.</p><p>The Graph Community Talk орієнтована на широку аудиторію незалежно від досвіду. Ми сподіваємося на активну участь спільноти і чекаємо на вашу залученість!</p><p>Ви можете знайти цю та всі інші події спільноти в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://calendar.google.com/calendar/u/0/embed?src=info@thegraph.foundation">календарі</a>. Підпишіться на календар, щоб бути в курсі усіх майбутніх подій!</p><hr><p><strong>Останні новини спільноти (00:00)</strong></p><p>У вівторок, 16 січня 2024 року, відбулася зустріч спільноти, на якій розглядали поточний стан справ. Зокрема, обговорювали оновлення Geo та Subgraph Radio, запуск Tenderize V2, а також ініціативу The Graph щодо наставництва адвокатів. На честь нової ери The Graph, The Graph AdvocatesDAO оголосили <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/graphprotocol/status/1741836467238740480?s=20">конкурс мемів</a>, де учасникам, які створять та опублікують меми зі спеціально визначеними хештегами, обіцяють ексклюзивні подарунки та стікери від The Graph у якості призів. Крім того, на форумі The Graph триває активне обговорення про <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/what-will-curation-look-like-on-the-horizon/5067">майбутнє кураторства</a>, ініційоване одним адвокатом The Graph. З 2 по 4 лютого, The Graph AdvocatesDAO стане спонсором <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethcincodemayo.com/">хакатону Eth Cinco de Mayo</a> в Пуеблі, Мексика, де представники екосистеми The Graph виступатимуть у ролі суддів.</p><p><strong>Нові випуски GRTiQ</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-148-zac-burns/">https://www.grtiq.com/grtiq-podcast-148-zac-burns/</a></p><p>У цьому епізоді Zac Burns, Principal System Architect в Edge &amp; Node, здійснює повторний візит і розповідає про Graph Horizon, ключову ініціативу стратегії розвитку “Нова ера” The Graph. У епізоді розглядаються витоки Horizon, його концептуальна мета та потенційний вплив на протокол The Graph та його спільноту.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-149-the-best-of-2023-part-1/">Подкаст GRTiQ: 149 Найкраще за 2023 рік (частина 1)</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-150-the-best-of-2023-part-2/">150 Найкраще за 2023 рік (частина 2)</a></p><p>У цих епізодах представлені основні моменти вражаючого сезону подкасту GRTiQ 2023 року, що висвітлюють ідеї та історії з епізодів 98-148.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-151-maarten-henskens/">https://www.grtiq.com/grtiq-podcast-151-maarten-henskens/</a></p><p>У цьому епізоді Maarten Henskens, Head в the Astar Foundation, обговорює шлях Astar до інтеграції з мережею The Graph та його унікальну позицію в японській блокчейн-екосистемі. У ньому розглядається перехід спікера від освіти до web3, його захоплення, а також особливості та спільнота Astar, згадують також про їхнє очікуване партнерство з The Graph.</p><p><strong>Основні оновлення для розробників</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/semiotic-labs-january-2024-update/5152">https://forum.thegraph.com/t/semiotic-labs-january-2024-update/5152</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/pinax-january-2024-update/5154">https://forum.thegraph.com/t/pinax-january-2024-update/5154</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-guild-january-2024-update/5149">https://forum.thegraph.com/t/the-guild-january-2024-update/5149</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/graphops-update-january-2024/5104">https://forum.thegraph.com/t/graphops-update-january-2024/5104</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/messari-january-2024-update/5161">https://forum.thegraph.com/t/messari-january-2024-update/5161</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/c/research/cd-1-pager-updates/70">https://forum.thegraph.com/c/research/cd-1-pager-updates/70</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/edge-node-s-december-january-update/5159">https://forum.thegraph.com/t/edge-node-s-december-january-update/5159</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/streamingfast-january-2024-update/5158">https://forum.thegraph.com/t/streamingfast-january-2024-update/5158</a></p><p><strong>Оновлення та ініціативи Латинської Америки (02:10)</strong></p><p>Під час зустрічі учасники поділилися важливими новинами про внесок адвокатів іспаномовної спільноти The Graph, зокрема, з Латинської Америки. Ключовим серед цих учасників є Zuni, учасниця світової спільноти, відома своєю активністю в Telegram. Вона запустила проект, в рамках якого бере інтерв&apos;ю у різних індексаторів та представляє їхні погляди, маючи на меті висвітлювати діяльність спільноти  для іспаномовної аудиторії.</p><p>У Венесуелі інший адвокат докладає значних зусиль для розвитку місцевої спільноти. Він перекладає англомовні презентації іспанською, щоб іспаномовна спільнота була такою ж проінформованою та залученою до екосистеми, як і їхні англомовні колеги, отримуючи оновлення одночасно.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphspanishmagazine.blogspot.com/">https://graphspanishmagazine.blogspot.com/</a></p><p>Emmi з Болівії взяла на себе ініціативу створити акаунт в Instagram, присвячений навчанню основам блокчейну іспанською мовою. Ці зусилля спрямовані на заповнення прогалин у розумінні блокчейну серед членів іспаномовної спільноті. Її мета - розповісти про блокчейн і The Graph, а також про ширші можливості екосистеми блокчейну. Вона робить акцент на зручності і зрозумілості для користувачів, використовуючи принципи UX, щоб не перевантажувати аудиторію інформацією.</p><p><strong>Оновлення Geo (08:10)</strong></p><p>У листопаді 2022 року, під час Community Talk #17, перше оновлення Geo показало, що це переважно концептуальний проект з обмеженим розвитком у продуктовому та інженерному аспектах. У червні 2023 року, під час Community Talk #24, помітний розвиток проекту став очевидним, що показав Graph explorer, з відповідним особистісним досвідом роботи з Geo. На момент проведення Community Talk #31 проект Geo досяг значного прогресу, відзначаючи чітке просування від початкових концептуальних етапів.</p><p>Це включає запуск нового веб-сайту, який ефективно передає бачення та мету Geo. Основною метою Geo є децентралізація організації інформації, розширюючи можливості експертів і дозволяючи кожному висловлювати власну думку. Це реалізується за допомогою “Geo Genesis”, першого кроку у створенні глобального децентралізованого графа знань, організованого у незалежні спільноти або простори. Ці простори охоплюють різноманітні теми, такі як філософія, штучний інтелект, історія, політика та здоров&apos;я. Члени спільнот активно роблять свій внесок, додаючи достовірні дані, твердження, аргументи та списки, щоб покращити розуміння та заохотити до дій.</p><p>Платформа включає в себе рейтингову систему, що дозволяє спільнотам визначати і пріоритезувати критичні питання та цінну інформацію. Це сприяє більш делікатному та діяльному способу обміну інформацією та обговорення. Хоча деякі функції Geo вже працюють, інші перебувають на стадії розробки, а повноцінний запуск очікується найближчим часом. Мета полягає в тому, щоб зробити платформу публічною та загальнодоступною, як тільки всі функції будуть повністю розроблені та вдосконалені.</p><p>Методологія Geo дозволяє користувачам отримувати доступ та переглядати інформацію в організованому, високоякісному форматі, що базується на технології блокчейн. Платформа упорядковує детальну перевірену інформацію з різних глобальних питань, включаючи різноманітні конфлікти. Основна мета Geo - підвищити залученість спільноти та сприяти обговоренню, виходячи за межі типових розділів з коментарями і переходячи до більш всебічних і конструктивних дискусій.</p><p>Після запуску платформи адвокатів The Graph заохочують долучатися до платформи Geo та брати участь у її роботі. Платформа представляє  еволюцію в способах курації та редагування інформації в децентралізованій структурі, пропонуючи нову парадигму для обміну інформацією, керованого громадою.</p><p><strong>Спробуйте </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.geobrowser.io/"><strong>тут </strong></a><strong>!</strong></p><p><strong>Оновлення від Subgraph Radio (17:40)</strong></p><p>Subgraph Radio, вперше представлений разом з початковим GRC та концепцією Graphcast, досяг важливого етапу з релізом версії 1.0. Цей реліз приніс помітні вдосконалення, включаючи стійкість бази даних, яка підвищує масштабованість і ефективність обробки даних за рахунок заміни старої файлової системи JSON. Оновлення також спростило перевірку конфігурації, що є важливим для перевірки адрес індексаторів на відповідність даним в мережі. Мережа Graphcast була збільшена завдяки переходу на більш ефективний протокол ретрансляції, що забезпечує стабільнішу та надійнішу передачу повідомлень.</p><p>Подальші розробки включають інтеграцію Subgraph Radio в стек Squids Docker compose  і Launchpad, що полегшує доступ для початківців і користувачів Kubernetes. Для учасників мережі Subgraph Radio пропонує безліч переваг. Вона дозволяє ефективний обмін даними між індексаторами, включаючи перехресну перевірку POI для виявлення розбіжностей та інформаційну панель Grafana для агрегованого мережевого інтелекту. Особливістю є попередня синхронізація оновлення підграфів, що дозволяє розробникам підграфів заздалегідь інформувати індексаторів про нові версії, мінімізуючи час простою.</p><p>Крім того, платформа надає конфігуровані сповіщення про виявлення розбіжностей та GraphQL API для детального аналізу. Для розробників підграфів стали доступними освітні ресурси, такі як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.graphops.xyz/graphcast/intro">документація </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/watch?v=ATWDiiXtfHk&amp;list=PLpbkfkwg_V6DHKvy-2pgJrjDVd02qAhHE&amp;pp=iAQB">плейлист на YouTube</a> з воркшопами. Заохочується залучення спільноти через канал Graphcast в The Graph Discord для дискусій та зворотного зв&apos;язку.</p><p>Таким чином, розвиток Subgraph Radio знаменує собою значний крок вперед у сфері обміну даними та мережевого інтелекту в екосистемі The Graph, розширюючи інструменти та можливості, доступні індексаторам та іншим учасникам мережі.</p><p><strong>Ініціатива The Graph щодо менторства для адвокатів (31:03)</strong></p><p>Програма менторства, яку очолює Julianna з Graph AdvocatesDAO, є новою ініціативою, спрямованою на підтримку і направлення адвокатів впродовж їхнього шляху в рамках спільноти The Graph. Воно в першу чергу орієнтоване на дві групи: нові адвокати, які не знають, як почати робити свій внесок після приєднання до спільноти, та вже існуючі адвокати, які ще не зробили нічого після приєднання.</p><p>Великий акцент був зроблений на важливості подачі форми про роботи для всіх видів діяльності, що здійснюються в ролі адвоката. Ця форма має вирішальне значення, оскільки вона слугує доказом внеску, допомагаючи отримати авторитет та репутацію в спільноті. Важливо розуміти, що навіть якщо адвокати не прагнуть отримати винагороду, подання цих форм є важливим для визнання та відстеження їхнього внеску. Ця практика також може підвищити їхні шанси на отримання грантів спільноти або на те, щоб стати частиною DAO, особливо за умови постійних високоякісних внесків.</p><p>Програма має конкретні цілі. Вона починається з того, що адвокати заповнюють форму зворотного зв&apos;язку, діляться своїми початковими мотивами приєднання до програми, своїми прагненнями та розповідають про будь-які можливі перешкоди, з якими вони могли зіткнутися на початку своєї діяльності. Цей зворотній зв&apos;язок є важливим для розуміння перспектив адвокатів і направлення на досягнення їхніх довгострокових цілей. Допомогти неактивним адвокатам зробити свій перший внесок, тим самим зробивши програму корисною та ефективною для всіх її учасників, і є основною метою програми.</p><p><strong>Запуск і демонстрація Tenderize V2 (31:03)</strong></p><p>Під час зустрічі спільноти The Graph, спікери приділили велику увагу майбутньому запуску Tenderize V2, нового протоколу ліквідного стейкінгу для GRT (і не тільки), значний внесок в розробку якого зробила команда Tenderize.</p><p>Tenderize V2, запуск якого запланований на 29 січня,  - це ретельне переосмислення архітектури ліквідного стейкінгу, покликане краще охопити децентралізацію і етос cypherpunk. Протокол вводить токени ліквідного стейкінгу (LST), які отримуються шляхом делегування GRT і є ліквідними на новоствореному автоматизованому ринку обміну під назвою Tender Swap. Ці LST можуть використовуватись для різних цілей, включаючи заставу в DeFi, створення гнучниких до налаштування індексів або як чистий для взаємодії продукт для індексаторів.</p><p>Члени команди розробників Tenderize V2 поділилися своїм різним досвідом, що охоплює ролі в DeFi-індустрії та інших великих галузях. Була проведена демонстрація користувацького інтерфейсу Tenderize V2, де показали простий процес стейкінгу та анстейкінгу GRT, а також можливість миттєвого обміну ліквідних застейканих токенів на GRT, підкреслюючи зручність і сумісність додатку з мобільними пристроями.</p><p>Tenderize V2 здобув підтримку з кількома партнерами по запуску з мережі The Graph і цільовою загальною заблокованою вартістю (TVL) понад $10 мільйонів. Відгуки користувачів, які тестували додаток під час тестової фази, були в переважній більшості позитивними, зокрема, вони високо оцінили гнучкість при переході між різними індексаторами без звичайного періоду очікування анстейкінгу. Після запуску додатку планується впровадження таких функцій, як позики під заставу простейканих GRT, подібно до позик з надмірною заставою, які можна побачити на таких платформах, як MakerDAO.</p><p>Що стосується стимулів та управління, команда оголосила про AirDrop для користувачів Tenderize V1 і можливість отримати ексклюзивні нагороди, виконуючи квести, які будуть конвертовані в токен управління Tenderize. Більш детальна інформація доступна за посиланням: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.tenderize.me/cookout">Tenderize</a></p><p><strong>Залишайтеся з нами!</strong></p><p>Приєднуйтесь до нас наступного місяця на зустрічі спільноти #32!</p><p>Будьте в курсі подій, долучаючись до дискусій на <strong>форумі</strong>, слідкуючи за The Graph у <strong>X( у минулому Twitter)</strong> або приєднавшись до <strong>Discord</strong> сервера.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
        <item>
            <title><![CDATA[The Graph Builders Newsletter #12 ]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-12</link>
            <guid>i6c6SAyn89S3BOxWc6KO</guid>
            <pubDate>Tue, 07 May 2024 10:08:36 GMT</pubDate>
            <description><![CDATA[Підписуйтесь на інформаційний бюлетень The Graph Builders Newsletter gm web3 builders, Ласкаво просимо до The Graph Builders Newsletter #12 за грудень 2023, в якому ми ділимося важливими новинами екосистеми The Graph для розробників за минулий місяць. Теми за грудень 2023 рокуПідбиття підсумків року розробниківНові релізиІндексатор оновлень - нові функції для розробниківМережа Optimism стала доступною в The GraphНавчальний куточокНайкращі практики у розробці підграфів: уникнення великих масив...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH">Підписуйтесь</a> <strong>на інформаційний бюлетень The Graph Builders Newsletter</strong></p><p>gm web3 builders,</p><p>Ласкаво просимо до <strong>The Graph Builders Newsletter #12 за грудень 2023</strong>, в якому ми ділимося важливими новинами екосистеми The Graph для розробників за минулий місяць.</p><p><strong>Теми за грудень 2023 року</strong></p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-12/#the-builders-year-in-review">Підбиття підсумків року розробників</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-12/#new-releases">Нові релізи</a></p><ul><li><p>Індексатор оновлень - нові функції для розробників</p></li><li><p>Мережа Optimism стала доступною в The Graph</p></li></ul></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-12/#learning-corner">Навчальний куточок</a></p><ul><li><p>Найкращі практики у розробці підграфів: уникнення великих масивів</p></li><li><p>Воркшопи Builders Office Hours</p></li></ul></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-12/#hackathon-highlights">Основні моменти хакатону </a></p><ul><li><p>EthIndia 2023</p></li><li><p>Chainlink Constellation 2023</p></li></ul></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-12/#participate"><strong>Взяти участь</strong></a></p><ul><li><p>Приєднуйтесь до The Graph BuildersDAO</p></li></ul></li></ul><hr><p><strong>Підбиття підсумків року розробників</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c1a209f29ddb6917afb079ff16ef8e775452536dc2b5c9518a50ebff009eab8c.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>У січні 2023 року було опубліковано перший випуск інформаційного бюлетеня The Graph Builders Newsletter! З того часу вийшло безліч оновлень і ключових релізів, спрямованих на підтримку розробників, таких як і ви!</p><p>Давайте розглянемо події 2023 року, висвітлюючи деякі ключові релізи, про які згадувалося в кожному випуску The Graph Builders Newsletter. Якщо у вас ще не було можливості ознайомитися з цими випусками, зробімо це зараз!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://sh1.sendinblue.com/ae7kib4oslpfe.html?t=1675809900">Січень</a>: Випуск The Graph Client</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://sh1.sendinblue.com/aeofbn4oslpfe.html?t=1678482157">Лютий</a>: Arbitrum, Avalanche та Celo стали доступними в мережі The Graph</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-developer-newsletter-edition-3/">Березень</a>: Випуск файлових джерел даних</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-developer-newsletter-edition-4/">Квітень</a>: Sepolia стала доступною в Subgraph Studio</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-developer-newsletter-edition-5/">Травень</a>: Випуск підграфів на основі підпотоків</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-builders-newsletter-6/">Червень</a>: Випуск повнотекстового пошуку + фільтрації за умовою, завантажувачів похідних полів та команди “graph deploy - ipfs-hash”.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-7/">Липень</a>: Запуск The Graph BuildersDAO</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/">Серпень</a>: Випуск інструментів перенесення L2 та файлових джерел даних Arweave</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-9/">Вересень</a>: “DataSourceContext” та “endBlock” у маніфесті</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-10/">Жовтень</a>: Оголошення виходу індексатора оновлень</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-11/">Листопад</a>: Запуск Substreams.dev</p><p>Неймовірний рік!</p><p><strong>Нові релізи</strong></p><p><strong>Індексатор оновлень - нові функції для розробників</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3cdf5f41c2134d420a9835e00ed089c1f68f3b86053471cd3f7ed74a8e2d7dd3.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>З нещодавнім випуском <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">індексатора оновлень</a>, The Graph відкриває нові мережі та можливості для розробників.</p><p><strong>Розблокування 1 - Безперешкодне оновлення до мережі The Graph</strong></p><p>Індексатор оновлень дозволить розробникам підграфів оновлювати підграфи, розміщені на хостинговому сервісі,  до мережі The Graph і починати виконувати запити якомога швидше без переривання роботи сервісу. Індексатор оновлень пропонує простий і зручний спосіб тестування вашого підграфа. Індексатор оновлень гарантує протягом обмеженого часу доступність підграфа в мережі The Graph, навіть якщо він має занадто слабкий сигнал курації, щоб залучити інших індексаторів.</p><p><strong>Розблокування 2 - Завантаження нових мереж у основну мережу</strong></p><p>На сьогоднішній день хостинговий сервіс підтримує більше 40 блокчейн-мереж. Індексатор оновлень прискорить інтеграцію багатьох з цих мереж з хостингу до основної мережі The Graph. Проте нові мережі, які підтримуються індексатором оновлень, не одразу отримають право на винагороду за індексацію. Для її отримання, кожна мережа повинна пройти <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/chain-integration-overview/">процес інтеграції мереж</a>.</p><p><strong>Розблокування 3 - Попередньо синхронізовані підграфи</strong></p><p>Всі підграфи хостингового сервісу вже будуть синхронізовані з індексатором оновлень, забезпечуючи негайну та високоякісну підтримку в мережі.</p><p><strong>Розблокування 4 - Безкоштовний рівень запитів (незабаром)</strong></p><p>Індексатор оновлень підтримує сторонні проекти та хакатон-проекти: буде створено безкоштовний рівень, досить ефективний для тестування потужності мережі The Graph. Як тільки він буде готовий до запуску в основному режимі, можна буде легко підписатися на платну версію, яка підтримує навантаження на рівні виробництва найбільших децентралізованих додатків.</p><p><strong>Мережа Optimism тепер доступна в The Graph</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/66d38f54f64c578822f694831dd08bb6cafe1897970799e5c6a2983bf1525dda.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Завдяки Optimism в загальній мережі The Graph ми маємо ще одну мережу, яку можемо почати індексувати!</p><p>Optimism - це перша мережа, яка завершила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/chain-integration-process/">процес інтеграції мережі</a> (CIP), відкритий та прозорий процес додавання нових мереж до основної мережі The Graph.</p><p>Оскільки індексатор оновлень розблоковує все більше і більше мереж, слідкуйте за новинами і чекайте появи нових мереж в The Graph.</p><p><strong>Куточок навчання</strong></p><p><strong>Найкращі практики у розробці підграфів: уникнення великих масивів</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3ace8fb4c8ecb48f67c03f3d47c653866eb4d608ada32abd9c7ed6a90e1b4b34.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Developer Relations Engineer <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> ділиться знаннями щодо оптимізації розробки підграфів шляхом уникнення великих масивів у своїй статті <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/">“Best Practices in Subgraph Development: Avoiding Large Arrays”</a> Цей важливий прийом вирішує проблеми надмірного зростання та неефективності баз даних, особливо при роботі з великими наборами даних, що часто змінюються. Рішення полягає у стратегічному використанні функції @derivedFrom у Graph node, яка сприяє зворотному пошуку і створює віртуальні поля для ефективного виконання запитів. Це не лише сприяє оптимізації структури бази даних, але й підвищує загальну продуктивність .</p><p><strong>The Graph Builders Office Hours</strong> - <strong>щочетверга о 17:00 UTC</strong></p><p><strong>Щочетверга о 17:00 UTC приєднуйтесь до The Graph Builders Office Hours</strong>, який проводить Developer Relations Engineer з Edge &amp; Node <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/DNUKDAyhxy">The Graph Discord</a>.</p><p>Кожна сесія включає в себе воркшопи у режимі реального часу та дискусії Q&amp;A з розробниками, які працюють в екосистемі The Graph.</p><p>**Почніть створювати швидко з усіма 19(!) воркшопами <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/playlist?list=PLTqyKgxaGF3RkHkG1nRxAfVpYHSGzR7Di">The Graph Builders Office Hours</a>! **</p><p><strong>Ось кілька нещодавніх епізодів:</strong></p><ul><li><p>Переможець Хакатону “Nazar” <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/fYK99jeD-XQbe/fYK99jeD-XQ">розробив свій проект на основі </a>підпотоків</p></li><li><p>Досліджуйте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/AMCr5MZ6dus">можливості композиції підграфів</a> у Graph Client</p></li><li><p>Дізнайтеся, як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/eruFfdp66S4">Clickhouse можна використовувати у якості приймача підпотоків </a></p></li><li><p>Ознайомтеся з новими можливостями підграфів - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/fytMd4unIbU">обробники ініціалізації та обробники опитувань</a></p></li><li><p>Створюйте за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/0uDC0BcHcY4">стандартних підграфів Messari</a></p></li></ul><p><strong>Основні моменти хакатону</strong></p><p><strong>EthIndia 2023</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/42fd0e0f26d91ef820175bba34cb471047ac08a575ae80bace80f5369bfabe12.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>EthIndia 2023 пройшов з величезним успіхом. 40 команд створили свої проекти за допомогою The Graph. Познайомтеся з переможцями!</p><p><strong>Найкращий новий підграф</strong></p><p><strong>Перше місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devfolio.co/projects/cal-026a"><strong>Cal3</strong></a> - web3-орієнтований календарний додаток, який працює на основі підграфа. Він дозволяє користувачам створювати події, запрошувати учасників за допомогою адрес гаманців, збирати відповіді на запрошення та надсилати сповіщення @PushProtocol.</p><p><strong>Друге місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devfolio.co/projects/jiffyscan-a837"><strong>JiffyScan</strong></a> - цей експлорер транзакцій використовує підграфи для аналізу пакетних транзакцій, надаючи більш детальну інформацію, ніж традиційні блок-експлорери.</p><p><strong>Найкраще використання існуючого підграфа</strong></p><p><strong>Перше місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devfolio.co/projects/griffin-494b"><strong>Griffin</strong></a> - портал на основі підграфів, розроблений для розрахунку оптимальної комісії пулу ліквідності для трейдерів Uniswap, що дозволяє впроваджувати нові фінансові стратегії в web3.</p><p><strong>Друге місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devfolio.co/projects/flashbag-053f"><strong>Flashbag</strong></a> - багато мережевий DeFi-додаток, який використовує підграфи для оптимізації доходу в декількох мережах, спрощуючи процес простих транзакцій в DeFi-системі.</p><p><strong>Chainlink Constellation 2023</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5b4acb3be82784288346089772fb6adac1a391d65c3759cc1a2aa24ea7c4591f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Через кількість (більш ніж 60!) проектів, що використовують The Graph для Constellation 2023, вибір переможців був досить важким завданням. Вітаємо цих розробників, і ознайомимось з їхніми проектами, щоб отримати джерело натхнення!</p><p><strong>Найкращий новий підграф або підпотік</strong></p><p><strong>Головний приз: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://constellation-hackathon.devpost.com/submissions/461502-genhub"><strong>GenHub</strong></a> - платформа, яка використовує генеративний ШІ для створення ШІ-персонажів для використання у рекламі та впливу на вибір споживачів, подібно до таких платформ, як TikTok або Instagram.</p><p>**Перше місце: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://constellation-hackathon.devpost.com/submissions/461015-azurance">Azurance</a> **- платформа страхування, що пропонує відкриту, миттєву та гнучку систему, яка дозволяє будь-кому забезпечити ліквідність та спрощує процес вирішення страхових випадків для договорів страхування.</p><p><strong>Друге місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://constellation-hackathon.devpost.com/submissions/454880-rocketai"><strong>RocketAI</strong></a> - децентралізований додаток для створення та взаємодії зі спеціалізованими агентами ШІ, який поєднує GPT-моделі від OpenAI з технологією блокчейну для унікального поєднання ШІ та функціональності в децентралізованому середовищі.</p><p><strong>Найкраще використання підграфа або підпотоку</strong></p><p><strong>Головний приз: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devpost.com/software/dexodusdd"><strong>Dexodus</strong></a> - безстрокова децентралізована біржа, яка усуває витрати на газ, пропонуючи стабільну комісію за транзакції, безперешкодний користувальницький досвід з використанням Chainlink Automation, а також елементи гейміфікації, такі як сезонні ліги та колекції NFT.</p><p><strong>1-е місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://constellation-hackathon.devpost.com/submissions/457654-shylock"><strong>Shylock</strong></a> - DeFi-проект, що полегшує міжмережеве кредитування та позики, з системою кредитування без застави, що підтримується комплексною системою кредитного рейтингу, членством в DAO та процедурами KYC.</p><p><strong>2-е місце: </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/Ayushjain2205/chainlink-hackathon"><strong>Botcoin</strong></a> - криптовалютна торгова платформа з торговими рішеннями на основі штучного інтелекту, персоналізованим управлінням фінансовими активами, оновленнями в режимі реального часу через Telegram, а також такими функціями, як оптимізація купівлі/продажу, безпечні міжмережеві перекази та адаптовані торгові стратегії.</p><p><strong>Хочете долучитися до екосистеми The Graph Ecosystem?</strong></p><p><strong>⚙️ Build з The Graph BuildersDAO ⚙️</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/01f44b4ae21e647c44036992f175330d15ee49bdeb1c956327ae9b9abe4d6d72.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Хочете отримувати гроші за створення підграфів та підпотоків разом з іншими розробниками?</p><p>Приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buildersdao.tech/">The Graph BuildersDAO</a>!</p><p><strong>The Graph BuildersDAO - це спільнота розробників, які надають свої послуги зі створення додатків та протоколів.</strong></p><p>Ця спільнота шукає білдерів з різним рівнем досвіду роботи зі смарт-контрактами, Rust, фронтенд-фреймворками, DevOps, підграфами та підпотоками, щоб приєднатися та взяти участь у різноманітних проєктах.</p><p>Крім того, якщо у вас є проєкт, якому потрібна допомога розробника, The Graph BuildersDAO - чудовий ресурс, який допоможе вам створити власний підграф або суб-потік! <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphbuilders">Звертайтесь до нас</a>!</p><p><strong>Опитування для розробників</strong></p><p><strong>Створення The Graph Network - це спільна робота, і основні розробники хотіли б почути ваші </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/48LOfny"><strong>відгуки</strong></a><strong>!</strong></p><hr><p>Дякуємо за прочитання та щасливого розвитку! 💌</p><p>Маркус Рейн</p><p>Developer Relations and Success</p><p>Edge &amp; Node, працює над The Graph</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/4cf4fe95eae696d5e7199e6de93fd2696175fff27eb9081bb731f0916a5cc640.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Нова ера The Graph: Стратегія для задоволення всіх світових потреб у даних ]]></title>
            <link>https://paragraph.com/@night0x/the-graph-2</link>
            <guid>CuYr3BTSNUQmrfEjjAy2</guid>
            <pubDate>Tue, 07 May 2024 09:34:07 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/the-graph-roadmap-new-era/ Хотіли б послухати цей блог у аудіоформаті? Слухайте його в The Graph Podcast. Зробіть крок у нову еру The Graph! Нова стратегія розвитку The Graph представляє сміливе і трансформаційне бачення майбутнього, в якому The Graph задовольнятиме всі потреби в обробці даних, від запитів і аналітики до LLM. Стратегія передбачає перспективне майбутнє, спрямоване на розширення можливостей для розробників та збільшення масштабів екосистеми The Graph. ...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-roadmap-new-era/">https://thegraph.com/blog/the-graph-roadmap-new-era/</a></p><p>Хотіли б послухати цей блог у аудіоформаті? <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.buzzsprout.com/2114418/13936326">Слухайте його</a> в The Graph Podcast.</p><p>Зробіть крок у нову еру The Graph! Нова стратегія розвитку The Graph представляє сміливе і трансформаційне бачення майбутнього, в якому The Graph задовольнятиме всі потреби в обробці даних, від запитів і аналітики до LLM. Стратегія передбачає перспективне майбутнє, спрямоване на розширення можливостей для розробників та збільшення масштабів екосистеми The Graph.</p><p>З 2018 року The Graph відіграє важливу роль у підтримці web3 та дозволяє розробникам створювати додатки за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/">підграфів</a>. Запущена три роки тому, мережа The Graph демонструє високу продуктивність, досягаючи понад 99,9% успішності запитів і є відданою своїм зобов&apos;язанням щодо демократизації доступу до даних блокчейну. Хостинговий сервіс і децентралізована мережа підтримують понад <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/supported-networks/">40 мереж</a> і більше <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer">85 000 підграфів</a>, що закріплює звання незамінної платформи для десятків тисяч розробників і додатків за мережею The Graph. Але шлях інновацій ще триває!</p><p>Давайте розберемо нову стратегію розвитку!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f9a36fdde3be76f294a7b6783f46682bea2fe8f2a93798833596e47b5cd0c4c6.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Огляд</strong></p><p><strong>Нова ера The Graph</strong> відзначає початок нової глави, де мережа The Graph задовольняє всі потреби даних і різних користувачів, підтримуючи процвітаючий всесвіт даних. Нова ера призведе до того, що The Graph буде обслуговувати зростаюче використання web3, включаючи перевірені дані, нові мови запитів і підтримку LLM, одночасно покращуючи обслуговування розробників, підвищуючи ефективність протоколу і створюючи граф знань.</p><p>Це все складається з п&apos;яти основних цілей, кожна з яких має супровідні етапи для стимулювання досліджень і розробок та зростання екосистеми на довгі роки.</p><p>Ось короткий огляд та опис кожної цілі:</p><ul><li><p><strong>Світ сервісів даних:</strong> Вихід за межі підграфів для надання різноманітних ринкових послуг з обробки даних в мережі.</p></li><li><p><strong>Розширення прав і можливостей розробників</strong>: Підтримка розробників за допомогою удосконаленого DevEx та інструментарію.</p></li><li><p><strong>Оптимізована продуктивність індексатора:</strong> Покращення продуктивності мережі шляхом удосконалення інструментарію та операційних можливостей індексатора.</p></li><li><p><strong>Узгоджений граф даних</strong>: Створення інструментів для даних, які можна компонувати, та організованого графа знань.</p></li><li><p><strong>Еволюція та стійкість протоколу</strong>: Впровадження покращень для стійкішого, гнучкішого та ефективнішого протоколу.</p></li></ul><p>Стратегія буде використовуватися для забезпечення користувачів чіткістю щодо майбутніх послуг, забезпечення безперервного узгодження між основними учасниками і визначення важливих етапів для спільноти, яких слід дотримуватися. Багато етапів, як наприклад <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/l2-transfer-tools-are-available-to-move-to-arbitrum-one-for-all-network-participants/4455">міграція на Arbitrum</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/gip-0057-chain-integration-process/4468">нові мережі</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/semiotic-labs-november-2023-update/4763">нові мови запитів</a>, вже реалізуються, тоді як інші, які були представлені сьогодні, стануть акцентом упродовж наступних кількох місяців. Ви можете слідкувати за прогресом виконання етапів <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/roadmap">тут</a>.</p><p><strong>Світ сервісів даних</strong></p><p><em>Результат: Вихід за межі підграфів для надання різноманітних ринкових послуг з обробки даних в мережі.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5397d42bb5e5278a02a46bc3e37e7bbe7cd7b60ff696ae48a2cd5b33d3add7cd.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>У стрімко змінюючомуся ландшафті web3 дані є джерелом життєвої сили, яке дозволяє створювати динамічні варіанти використання, які рухають усю галузь вперед. Стало стандартним використання підграфів для отримання доступу до даних блокчейну для створення децентралізованих додатків, але для підтримки зростаючого інтересу web3 до нових методів використання даних, The Graph також повинен розширити свої сервіси даних.</p><p>Світ сервісів даних пропонує цілісний підхід до розвитку за межами підграфів та GraphQL:</p><ul><li><p>Нові мови запитів відкриють можливості для використання аналітики, тож дослідники даних та споживачі аналітики можуть звертатися до The Graph.</p></li><li><p>Повна інтеграція <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/firehose/">Firehose</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/substreams/">Substreams</a>, ключових сервісів даних, які забезпечують швидкий потік даних та модульний доступ до них.</p></li><li><p>Достовірна платформа Firehose для забезпечення потенційного рішення для <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethresear.ch/t/using-the-graph-to-preserve-historical-data-and-enable-eip-4444/17318">EIP-4444</a> і отримання історичних даних Ethereum.</p></li><li><p>Введення нових недетермінованих джерел даних.</p></li><li><p>Надання можливості <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/using-ai-to-enhance-the-graph/">налаштованим LLM</a> генерувати запити, які індексатори можуть обслуговувати як GraphQL, так і іншими мовами запитів.</p></li><li><p>Динамічний ринок обміну файлами для індексаторів.</p></li><li><p>Постійна підтримка нових мереж за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/chain-integration-process/">процесу інтеграції мереж. </a></p></li></ul><p>Спільнота The Graph передбачає різноманітний і надійний ринок послуг з обробки даних, доступних через мережу, і можливість для розробників додавати будь-які нові послуги без запиту на дозвіл. Зі зростанням ринку нових способів використання даних зростатимуть можливості для індексаторів та розробників спеціалізуватися та отримувати доступ до різноманітних сервісів даних. Світ сервісів даних відкриває можливості для нових користувачів, таких як дослідники даних, для доступу до всесвіту інформації з підвищеною зручністю та доступністю.</p><p><strong>Розширення прав і можливостей розробників</strong></p><p><em>Результат: Підтримка розробників за допомогою вдосконаленого DevEx (досвіду розробників) та інструментарію.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f46f340a3e35cd2bf21b7b9f780cc1ef81c855385e6f006d59e8deb2e29e660b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>The Graph постійно удосконалює UX (користувацький досвід) та DevEx (досвід розробників) на основі відгуків користувачів та мінливих потреб. Розробники - це архітектори web3, які створюють досвід і додатки, що формуватимуть децентралізований інтернет.</p><p>Підтверджуючи прагнення до еволюції, орієнтованої на розробників, в рамках цього завдання визначено кілька важливих етапів, які призначені, щоб докорінно змінити досвід розробників:</p><ul><li><p>Вже впроваджуються такі покращення користувацького досвіду, як спрощене виставлення рахунків, зрозумілі моделі ціноутворення та зменшення плати за газ завдяки безперервній <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/">міграції протоколу на Arbitrum</a>.</p></li><li><p>Відсутність простоїв при оновленні підграфів до мережі завдяки етапу <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/transitioning-to-decentralized-graph-network/">“Sunrise” децентралізованих даних</a>, який забезпечує плавний перехід всіх підграфів хостингових сервісів до мережі.</p></li><li><p>Підтримка всіх мереж у основній мережі, які наразі підтримуються на хостинговому сервісі.</p></li><li><p>- Покращений <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/querying/graphql-api/">GraphQL API</a> та розширені функції тестування і валідації на етапі збірки, які будуть інтегровані в Graph CLI.</p></li><li><p>Розширений інструментарій для <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://substreams.dev/">Substreams</a>, який включатиме спеціальний графічний інтерфейс користувача та можливості Codegen.</p></li></ul><p>Ці ініціативи не лише вдосконалять діючі робочі процеси, але й підвищать продуктивність та ефективність для  розробників, які працюють з підграфами. Разом ці етапи визначають майбутнє, в якому The Graph розвиватиметься паралельно з очікуваннями та потребами користувачів, забезпечуючи доступ до світових даних за допомогою інтуїтивно зрозумілого, надійного та простого користувацького досвіду.</p><p><strong>Оптимізація продуктивності індексаторів</strong></p><p><em>Результат: Покращення продуктивності мережі шляхом удосконалення інструментарію та операційних можливостей індексатора.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/b39a374c366595f473216e79c2ceaa0a5f9657ce1d1a470e41d7c0c07ec99d73.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Ефективність і надійність мережі The Graph глибоко пов’язані з ефективністю спільноти індексаторів. Для оптимізації роботи індексаторів, The Graph підвищить продуктивність мережі, розширивши операційні можливості індексаторів і забезпечивши їх комплексним інструментарієм.</p><p>Етапи оптимізації продуктивності індексаторів розроблені для посилення повного операційного потенціалу індексаторів, доповненого додатковими ресурсами підтримки.</p><p>Покращення включають:</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.graphops.xyz/launchpad/intro">Масштабований стек індексаторів</a> на базі Kubernetes, адаптований для великомасштабних операцій.</p></li><li><p>Розробка нових фреймворків для моделювання витрат, пристосованих до нових послуг обробки даних, орієнтованих на індексаторів та майбутніх постачальників даних.</p></li><li><p>Автоматизована перевірка розбіжностей та спрощене виявлення за допомогою нових інструментів, таких як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/edgeandnode/graphix">Graphix</a>.</p></li><li><p>Зменшення витрат на газ в мережі для розробників та індексаторів через Arbitrum для підвищення операційної ефективності.</p></li></ul><p>Разом ці ініціативи створюють майбутнє, в якому індексатори матимуть більше можливостей та операційної ефективності, що дозволить їм підтримувати кожен новий сервіс даних за допомогою інструментів, необхідних для масштабування їхньої інфраструктури.</p><p><strong>Узгоджений граф даних</strong></p><p><em>Результат: Створення інструментів для даних, які можна компонувати, та організованого графа знань.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/9c66f0c8e3ed7797f766cb91889cb46d71abde0ca1a70cc598989a50e12697f3.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Дані можуть надходити з будь-якого джерела, але як ми можемо знати, чому довіряти? Спільнотам необхідні інструменти для організації знань та інформації та досягнення консенсусу у цій сфері. Завдяки кращому представленню знань, пов&apos;язаних між собою, ми зможемо розширити нашу базу спільних фактів, що є фундаментом для більш здорового суспільства. Бачення The Graph щодо узгодженого графа даних є свідченням цього, переходячи від даних до інформації, від неї до графа знань, керованого людиною!</p><p>Ця мета передбачає створення інструментів для композиційного та організованого графа даних за допомогою:</p><ul><li><p>Впровадження удосконалених механізмів курації та управління даними на The Graph.</p></li><li><p>Надання мережевої підтримки для обробки природної мови через LLM.</p></li><li><p>Забезпечення єдиного доступу до всіх сервісів даних за допомогою композиційності.</p></li><li><p>Впровадження інструментів для створення графів знань.</p></li></ul><p>Узгоджений граф даних визначає, як мережа The Graph забезпечує існування справді децентралізованого графа світових знань, що є неможливим у випадку роз’єднаних даних або провайдерів послуг з передачі даних. Ці віхи малюють картину майбутнього, в якому The Graph слугуватиме сполучною ланкою даних web3, з&apos;єднуючи різні точки для створення безперебійного, інтегрованого і всеосяжного графа даних.</p><p><strong>Еволюція та стійкість протоколу</strong></p><p><em>Результат: Впровадження покращень для стійкішого, гнучкішого та ефективнішого протоколу.</em></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d9b34247a5c86cf045e4d80eedc0b4d4e2f7ffa5273a7309c226deef88c21246.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Постійний розвиток протоколу, надання йому стабільності, гнучкості і економічної ефективності є надзвичайно важливим для розробників, які працюють з The Graph. Мета еволюції та стійкості протоколу підкреслює прагнення впровадити децентралізацію, загальнодоступні інновації, покращити економічну ефективність та мінімізувати приховані припущення щодо довіри:</p><ul><li><p>Нова система платежів для користувачів мережі за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/gip-0054-timeline-aggregation-protocol/4405">протоколу агрегації часових ліній (TAP)</a> під назвою Scalar, що значно зменшує відсутність довіри між шлюзами і платежами індексаторів.</p></li><li><p>Впровадження Graph Horizon, розвиток протоколу з метою зробити його більш загальнодоступним, простим та економічно ефективним, включаючи покращення делегування.</p></li><li><p>Підтримка <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/an-arbitration-charter-to-clarify-arbitrator-behavior/1936">арбітражу</a> для нових сервісів і мереж даних на модульній основі.</p></li><li><p>Створення спеціального користувацького інтерфейсу для нових сервісів даних (наприклад, для розробників і дослідників даних).</p></li></ul><p>Ця мета не тільки гарантує надійну основу для діючих додатків, але й відкриває шлях до майбутнього, де інфраструктура даних web3 буде більш стійкою, гнучкою, доступною та надійною.</p><p><strong>Як долучитися?</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e38f54fba58ed2e235166105b9f6aa54aeb48648bfba7fa4a4c510c81d52e1e7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Стати частиною цієї революційної подорожі стало надзвичайно просто. Незалежно від того, чи ви розробник, чи починаючий індексатор, чи прихильник web3 без технічних знань, є <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/get-involved-with-graph-community-web3/">кілька способів</a> вступити до спільноти The Graph та взяти участь у її роботі.</p><p>Почніть з дослідження <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/#network-roles">різних мережевих ролей</a> у The Graph і визначте, чи зацікавлені ви стати делегатом, розробником підграфів чи індексатором.</p><p>Ще ви можете зв&apos;язатися з однодумцями по всьому світу, приєднавшись до офіційного каналу в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/graphprotocol">Telegram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/">The Graph Forum</a>, де ведеться обговорення майбутнього протоколу.</p><p>Зрештою, ви також можете подати заявку на отримання ролі <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/ecosystem/advocacy/">адвоката The Graph</a>, приєднатися до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.buildersdao.tech/">BuildersDAO</a>, підписатися на<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://confirmsubscription.com/h/j/542339919C905733"> розсилку новин</a> спільноти або відвідати один з численних заходів спільноти. Прийміть нову еру, зробіть свій внесок у розвиток web3 і допоможіть формувати майбутнє разом з The Graph.</p><p>Приєднуйтесь до The Graph, поки ми революціонізуємо світ децентралізованих даних!</p><hr><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/d69f3098a1a29b6481ff3ebfb8f55092e77d0451636182c8837f61730ccf8f4c.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph Builders Newsletter #10]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-10</link>
            <guid>L8qnlgSZeZpvRT1GNAjA</guid>
            <pubDate>Tue, 07 May 2024 09:30:14 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/builders-newsletter-10/ 🏗️ Підписуйтесь на інформаційний бюлетень The Graph Builders Newsletter 🏗️ gm web3 builders, Давайте розглянемо The Graph Builders Newsletter #10 за жовтень 2023, де ми ділимося важливими новинами для розробників щодо екосистеми The Graph за минулий місяць. З нагоди The Graph Builders Newsletter #10, для розробників тепер доступна обмежена кількість POAP! Заберіть цього місячний POAP і давайте починати !Теми на жовтень 2023 рокуПредставлення...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-10/">https://thegraph.com/blog/builders-newsletter-10/</a></p><p><strong>🏗️ </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH"><strong>Підписуйтесь</strong></a><strong> на інформаційний бюлетень The Graph Builders Newsletter 🏗️</strong></p><p>gm web3 builders,</p><p>Давайте розглянемо <strong>The Graph Builders Newsletter #10 за жовтень 2023</strong>, де ми ділимося важливими новинами для розробників щодо екосистеми The Graph за минулий місяць.</p><p>З нагоди The Graph Builders Newsletter #10, для розробників тепер доступна обмежена кількість POAP!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://poap.website/improve-pull-can"><strong>Заберіть цього місячний POAP</strong></a><strong> і давайте починати !</strong></p><hr><p><strong>Теми на жовтень 2023 року</strong></p><ul><li><p>Представлення апгрейд індексатора</p><ul><li><p>Відсутність перерви в обслуговуванні для оновлень підграфів в мережі The Graph</p></li><li><p>Швидкі публікації</p></li><li><p>Нові мережі в загальній мережі The Graph</p></li></ul></li><li><p>Випущено нові функції для підграфів!</p><ul><li><p>Суттєве покращення продуктивності підграфів на основі підпотоків</p></li><li><p>DataSourceContext у маніфесті</p></li><li><p>У маніфесті з&apos;явився endblock</p></li></ul></li><li><p>The Graph @ EthRome</p></li><li><p>Воркшопи Builders Office Hours</p></li><li><p>Візьміть участь в роботі екосистеми The Graph</p><ul><li><p>Приєднуйтесь до The Graph BuildersDAO</p></li><li><p>Підписуйтесь на бета-версію The Graph Billing Subscriptions</p></li></ul></li></ul><hr><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bc7ff7be7e8165561067f6d23eeef1739b83715179b61fe64d4ef63018abc238.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>🌅 Представлення апгрейд індексатора 🌅</strong></p><p>Згідно <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">цього оголошення</a> розробники матимуть ще більше переваг, працюючи в мережі The Graph.</p><p><strong>Що це таке?</strong></p><p>Цей індексатор допомагає користувачам хостингового сервісу оновлювати свої підграфи в мережі The Graph без переривання роботи сервісу. Він дозволяє завантажувати нові мережі в основну і поліпшує процес оновлення підграфів з хостингового сервісу, гарантуючи готовність індексатора обслуговувати запити негайно після публікації підграфа (чи нової версії підграфа) в мережі.</p><p><strong>Ось 3 ключові переваги, які розробники отримують від його використання, який незабаром стане доступним:</strong></p><ul><li><p>Відсутність перерви в обслуговуванні для оновлень підграфів в мережі The Graph</p></li></ul><p>Раніше, коли розробник прагнув оновити свій підграф до мережі The Graph, потрібен був час на індексацію оновленого підграфа. Протягом цього часу, поки новий підграф індексувався, застарілий підграф залишався без призначених індексаторів, що призводило до перерви у обслуговуванні. З індексатором оновлень будь-які прогалини у обслуговуванні будуть усунені, оскільки індексатор синхронізує стару і нову версії.</p><ul><li><p><strong>Можлива миттєва синхронізація опублікованих підграфів</strong></p></li></ul><p>До винайдення апгрейд індексатора, коли підграф публікувався в мережі The Graph, його індексація займала певний час, оскільки відповідальність за індексацію переходила від централізованої інфраструктури до децентралізованої. Цього процесу більше немає! Індексатор оновлень попередньо синхронізує підграфи, розгорнуті в Subgraph Studio. Це означає, що коли підграф повністю проіндексовано в Subgraph Studio, він також буде повністю проіндексований, щойно його буде опубліковано в мережі The Graph!</p><ul><li><p><strong>Нові мережі в загальній мережі The Graph</strong></p></li></ul><p>На сьогоднішній день хостингові сервіси підтримують більше 40 блокчейн-мереж. Апгрейд Індексатор прискорить інтеграцію цих мереж з хостингового сервісу до мережі The Graph. Однак, нові мережі, які підтримуються індексатором, не одразу отримають право на винагороду за індексацію. Щоб отримати винагороду за індексацію, кожна мережа повинна пройти процес інтеграції в рамках (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/chain-integration-overview/">Chain Integration Process</a>).</p><p>Слідкуйте за новинами про апгрейд індексатора!</p><p><strong>🔼 Нові функції підграфів🔼</strong></p><p>У <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node">graph-node</a> 0.33.0 з&apos;явився <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases/tag/v0.33.0">довгий список нових функцій</a>, які тепер доступні в мережі The Graph!</p><p>Ось декілька цікавих можливостей для розробників підграфів:</p><p><strong>`DataSourceContext` у маніфесті підграфа</strong></p><p>Передача даних від одного обробника до іншого під час темплейтингу раніше була можлива у наших маппінгах підграфів за допомогою  <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-context">Data Source Context</a>, але тепер ця можливість доступна у нашому `subgraph.yaml`!</p><p>Ця можливість буде корисною для темплейтингу специфічних для мережі даних у підграфах, які використовують один і той самий код для декількох мереж. Перевірте це!</p><pre data-type="codeBlock" text="name: Factory
    network: mainnet
    context:
      foo:
      bool_example:
        type: Bool
        data: true
      int8_example:
        type: Int8
        data: 64
      big_decimal_example:
        type: BigDecimal
        data: 10.99
      bytes_example:
        type: Bytes
        data: \&quot;0x68656c6c6f\&quot;
      list_example:
        type: List
        data:
          - type: Int
            data: 1
          - type: Int
            data: 2
          - type: Int
            data: 3
      big_int_example:
        type: BigInt
        data: \&quot;1000000000000000000000000\&quot;
      string_example:
        type: String
        data: bar
      qux:
        data: \&quot;bar\&quot;
      int_example:
        type: Int
        data: 42
"><code><span class="hljs-attr">name:</span> <span class="hljs-string">Factory</span>
    <span class="hljs-attr">network:</span> <span class="hljs-string">mainnet</span>
    <span class="hljs-attr">context:</span>
      <span class="hljs-attr">foo:</span>
      <span class="hljs-attr">bool_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Bool</span>
        <span class="hljs-attr">data:</span> <span class="hljs-literal">true</span>
      <span class="hljs-attr">int8_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Int8</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">64</span>
      <span class="hljs-attr">big_decimal_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">BigDecimal</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">10.99</span>
      <span class="hljs-attr">bytes_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Bytes</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"0x68656c6c6f\"</span>
      <span class="hljs-attr">list_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">List</span>
        <span class="hljs-attr">data:</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">1</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">2</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">3</span>
      <span class="hljs-attr">big_int_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">BigInt</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"1000000000000000000000000\"</span>
      <span class="hljs-attr">string_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">String</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">bar</span>
      <span class="hljs-attr">qux:</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"bar\"</span>
      <span class="hljs-attr">int_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">42</span>
</code></pre><p><strong>`endBlock` визначено у `subgraph.yaml`</strong></p><p>При створенні підграфа ми визначаємо `startBlock`, з якого починається індексація підграфа. Тепер у нас також є `endBlock`, який дозволяє спрямувати фокус наших підграфів лише на конкретний набір блоків! Спробуйте, як тільки `graph-node` буде оновлено у файлі `subgraph.yaml`!</p><pre data-type="codeBlock" text="…
source:
  address: &apos;0x...&apos;
  abi: Contract
  startBlock: 1000000
  endBlock:  1500000
…
"><code><span class="hljs-string">…</span>
<span class="hljs-attr">source:</span>
  <span class="hljs-attr">address:</span> <span class="hljs-string">'0x...'</span>
  <span class="hljs-attr">abi:</span> <span class="hljs-string">Contract</span>
  <span class="hljs-attr">startBlock:</span> <span class="hljs-number">1000000</span>
  <span class="hljs-attr">endBlock:</span>  <span class="hljs-number">1500000</span>
<span class="hljs-string">…</span>
</code></pre><p><strong>Суттєве покращення продуктивності підграфів на основі підпотоків</strong></p><p>Було досягнуто значне покращення продуктивності для підграфів на основі підпотоків завдяки перенесенню обробки підпотоків до блоку.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/substreams-powered-subgraphs/">Підграфи на основі підпотоків</a>, опубліковані в мережі The Graph, відіграють ключову роль у підвищенні швидкості та надійності децентралізованого індексування. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/substreams/README/">Спробуйте створити підграф на основі підпотоків</a>, і опублікуйте його в мережі The Graph, щоб гарантувати децентралізованість вашого потоку даних!</p><p><strong>🏗️ The Graph @EthRome 🏗️</strong></p><p>Розробники зібралися і реалізували ряд неймовірних проектів в Італії. Вітаємо переможців і знайомимося з їхніми роботами!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ddf086ed99076b803b9a762141aa5093e510ffa77858ace33237a9b77d24fa27.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Best New Subgraph/Substream</strong></p><p>🥇 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnfyh1ya00gmye01j19ob1rz/idea">Sharknado</a></p><p>🥈 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnh3ngrx01o8wu01gvev6bv0/idea">Zola</a></p><p>🥉 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnfs4sq800bzy90134ygt0rz/idea">Quo- Roma</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clneyy88i003mwu01n2kkm5dx/idea">GM ID</a></p><p><strong>Best Use of Existing Subgraph/Substream</strong></p><p>🥇 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnf06eh60046wu01hdriwv7y/idea">CarbonarAI</a></p><p>🥈 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clng4a64l00lvye01zyht9i8z/idea">Bounty Arena</a></p><p><strong>🏗 Building With The Graph - Workshops 🏗</strong></p><p><strong>The Graph Builders Office Hours - щочетверга о 17:00 UTC</strong></p><p><strong>Щочетверга о 17:00</strong>, Developer Relations Engineer Edge &amp; Node <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/DNUKDAyhxy">The Graph Discord</a> проводить зустрічі з розробниками графів. Кожна сесія містить живі майстер-класи та обговорення з розробниками, які розбудовують The Graph Ecosystem, у формі запитань та відповідей.</p><p><strong>Почніть розробляти якомога швидше за допомогою попередніх воркшопів The Graph Builders Office Hours!</strong></p><ul><li><p>Пориньте у нові можливості підграфів - обробники ініціалізації та обробники опитувань</p></li><li><p>Використовуйте стандартні підграфи Messari</p></li><li><p>Почніть програмувати швидко за допомогою стартового набору для хакатону, який використовує The Graph</p></li><li><p>Створіть dapp за допомогою Scaffold-Eth 2 та The Graph</p></li><li><p>Дізнайтеся, наскільки потужними можуть бути підграфи на основі Substreams</p></li><li><p>Пориньте в аналітику даних підграфів за допомогою Playgrounds</p></li><li><p>Перенесіть офф-чейн дані до підграфів за допомогою File Data Sources</p></li></ul><p><strong>Не знайшли потрібну тему?</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://noteforms.com/forms/topic-request-form-8j2s2r?notionforms=1"><strong>Надішліть запит на тему</strong></a><strong> для наступного епізоду The Graph Builders Office Hours, і ми зробимо це!</strong></p><p><strong>Хочете долучитися до екосистеми The Graph Ecosystem?</strong></p><p><strong>⚙️ Build з The Graph BuildersDAO ⚙️</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7adef4fa46eb84d30025d2885217c4fa801ae6a587e07607b3b05a1c24eab04a.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Хочете отримувати гроші за створення підграфів та підпотоків разом з іншими розробниками?</p><p>Приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buildersdao.tech/">The Graph BuildersDAO</a>!</p><p><strong>The Graph BuildersDAO - це спільнота розробників, які надають свої послуги зі створення додатків та протоколів.</strong></p><p>Ця спільнота шукає білдерів з різним рівнем досвіду роботи зі смарт-контрактами, Rust, фронтенд-фреймворками, DevOps, підграфами та підпотоками, щоб приєднатися та взяти участь у різноманітних проєктах.</p><p>Крім того, якщо у вас є проєкт, якому потрібна допомога розробника, The Graph BuildersDAO - чудовий ресурс, який допоможе вам створити власний підграф або суб-потік! <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphbuilders">Звертайтесь до нас</a>!</p><p><strong>➕ Підпишіться на бета-версію програми Graph Billing Subscriptions ➕</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/589b4aa0a132a438c3a6d88b4c7f8cbf877088ca58b5901e1baeb7456cfacb55.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/265397ab289c940179290b1f61a922b0359f804c84398a94ff62858e7a28c122.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Seamless Upgrades to The Graph Network - Unveiling 3 Phases of the Sunrise of Decentralized Data]]></title>
            <link>https://paragraph.com/@night0x/seamless-upgrades-to-the-graph-network-unveiling-3-phases-of-the-sunrise-of-decentralized-data</link>
            <guid>WdosnZqD4JmLwHJJRpHM</guid>
            <pubDate>Tue, 07 May 2024 09:24:37 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/ Хотіли б послухати аудіо-версію цього блогу? Слухайте запис цього блогу через The Graph Podcast.TL;DRУ цьому оголошенні представлено оновлений план розвитку децентралізованих даних, який дозволить кожному безперешкодно перейти в мережу The Graph. План складається з 3 етапів:Sunray: увімкнення підтримки всіх хостингових сервісів, запровадження простого процесу оновлення та надання безкоштовного плану запитів до мережі The ...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/">https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/</a></p><p>Хотіли б послухати аудіо-версію цього блогу? <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.buzzsprout.com/2114418/13881376">Слухайте запис цього блогу</a> через The Graph Podcast.</p><hr><p><strong>TL;DR</strong></p><ul><li><p>У цьому оголошенні представлено оновлений план розвитку децентралізованих даних, <strong>який дозволить кожному безперешкодно перейти в мережу The Graph</strong>. План складається з 3 етапів:</p></li></ul><ol><li><p><strong>Sunray</strong>: увімкнення підтримки всіх хостингових сервісів, запровадження простого процесу оновлення та надання безкоштовного плану запитів до мережі The Graph, який активується за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">апгрейд індексатора</a></p></li><li><p><strong>Sunbeam</strong>: запровадження 60-денного вікна оновлень для оновлення підграфів хостингових сервісів зі спеціальною підтримкою оновлення</p></li><li><p><strong>Sunrise</strong>: термін дії ендпоінтів хостингових сервісів закінчиться, коли всі підграфи оновляться в мережі The Graph</p></li></ol><ul><li><p>Оновлення в мережі The Graph дарує розробникам самостійність управління даними своїх децентралізованих додатків, не потребує витрат на розгортання власної інфраструктури індексування. Замість цього вони можуть скористатися мережею, в якій працюють сотні індексаторів, щоб забезпечити надійне та швидке обслуговування даних блокчейну.</p></li></ul><p>Web3 вступає в нову еру відкритих даних з мережею The Graph. Сьогодні децентралізована мережа забезпечує продуктивність, резервування і швидку синхронізацію, чим конкурує з хостинговими альтернативами.</p><p>Настав час скористатися перевагами переходу до мережі, такими як:</p><ul><li><p>Низька вартість запитів</p></li><li><p>Неперевершений час безвідмовної роботи</p></li><li><p>Висока швидкість синхронізації</p></li><li><p>Прозора статистика використання підграфів</p></li><li><p>Надійна система підтримки успішності запитів</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/sunrise/">І багато іншого</a> - і все це, уникаючи блокування постачальника послуг</p></li></ul><p>Основні команди розробників розширюють доступ до мережі The Graph з появою децентралізованих даних, яка відбудеться в три етапи.</p><p><strong>Розберемо по пунктах: 3 етапи розвитку децентралізованих даних</strong></p><p><strong>Перший етап: Sunray</strong></p><p>На етапі Sunray буде впроваджено три вдосконалення, які дозволяють користувачам хостингових сервісів безперешкодно і швидко перейти в мережу The Graph.</p><ul><li><p><strong>Активуємо мережі хостингового сервісу в мережі The Graph:</strong> З запуском індексатора всі мережі, які доступні на хостинговому сервісі, стануть доступними також у мережі The Graph. Розробники підграфів зможуть оновлювати підграфи хостингових сервісів у всіх мережах та створювати нові підграфи для мереж, які раніше були недоступні.</p></li><li><p><strong>Покращений досвід оновлення для розробників</strong>: Забезпечити простий у використанні процес оновлення, щоб допомогти користувачам хостингових сервісів оновити підграфи в мережі The Graph та ознайомитись з Subgraph Studio, основним користувацьким інтерфейсом для створення, тестування, публікації та розгортання підграфів у децентралізованій мережі.</p></li><li><p><strong>Впровадження безкоштовного тарифного плану для запитів:</strong> Користувачі, які скористаються безкоштовним тарифним планом і мають намір виконувати запити до будь-якого підграфа мережі, зможуть здійснювати значну кількість безкоштовних запитів щомісяця протягом обмеженого часового інтервалу. Це особливо корисно для невеликих додатків, хакатонів, аматорів і тих користувачів, які просто тестують підграфи перед переходом на платний тарифний план. Безкоштовний план буде обмежений за часом і надасть можливість аналізу запитів та отримання сповіщень. Також він дозволить безперешкодно перейти на платний план, використовуючи той самий ключ API/запиту. Цей безкоштовний план задовольнить потреби багатьох сучасних користувачів хостингових сервісів, створюючи можливість легко переходити до мережі The Graph із хостингового сервісу.</p></li></ul><p><strong>Другий етап: Sunbeam</strong></p><p>Фаза Sunbeam <strong>запустить вікно оновлення</strong>, пропонуючи спеціалізовану підтримку користувачам через <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://upgrade@thegraph.foundation">електронну пошту</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">Discord</a>, що дозволить кожному відчути швидшу синхронізацію, меншу затримку та більш надійні відповіді на запити.</p><p>На початку фази Sunbeam вступають в дію два основні елементи:</p><ul><li><p><strong>Запуск вікна оновлення:</strong> Вікно оновлення триватиме 60 днів і розпочнеться лише після завершення трьох удосконалень фази Sunray. Вікно оновлення відповідає часовим рамкам, протягом яких розробники підграфів будуть оновлювати свої підграфи в мережі The Graph. Хоча це вікно оновлення буде доступне наприкінці фази Sunbeam, кульмінації воно  досягне наприкінці третьої фази - Sunrise.</p></li><li><p><strong>Примітка</strong>: інтерфейс оновлення для легкого оновлення підграфів залишатиметься доступним і після закриття вікна оновлення.</p></li><li><p><strong>Створення нових підграфів буде доступне лише у мережі The Graph:</strong> Початок фази Sunbeam стане важливим етапом у розвитку хостингового сервісу. Оскільки фокус зміщується на створення підграфів у мережі The Graph, створення нових підграфів відбуватиметься виключно у Subgraph Studio.</p></li></ul><p><strong>Примітка щодо підтримки:</strong> Щоб гарантувати безпроблемний перехід під час етапу Sunbeam і протягом всього процесу оновлення, ми визнаємо важливість підтримки спільноти у режимі реального часу. Тому всім користувачам рекомендується звертатися за адресою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="mailto:upgrade@thegraph.foundation">upgrade@thegraph.foundation</a> на електронну пошту або приєднатися до спеціального <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">сервера Discord</a> - простору, де можна отримати поради безпосередньо від досвідчених членів команди та учасників спільноти. Незалежно від того, чи ви знаходитесь на початкових етапах оновлення, чи шукаєте пояснень щодо нових функцій, чи потребуєте допомоги у вирішенні будь-яких можливих проблем, спільнота готова вам допомогти.</p><p><strong>Наприкінці</strong> фази Sunbeam набудуть чинності два додаткові компоненти:</p><ul><li><p><strong>Нові оновлення підграфів будуть доступні лише у Subgraph Studio та мережі The Graph</strong>: Розробники підграфів, які бажають внести зміни до своїх підграфів на хостинговому сервісі, повинні будуть оновити свої підграфи для використання в мережі, щоб розгорнути нові версії в мережі The Graph через Subgraph Studio.</p></li><li><p><strong>Автоматичне оновлення часто використовуваних (але ще не оновлених) підграфів</strong>: Під час етапу Sunbeam ключові розробники відслідковуватимуть підграфи хостингових сервісів, які широко використовуються, але ще не були оновлені. З метою забезпечення того, що найбільш важливі підграфи, які активно використовуються в екосистемі web3, залишатимуться доступними для всіх, підграфи з значною кількістю запитів автоматично оновлюватимуться в мережі.</p></li></ul><p><strong>Третій етап: Sunrise</strong></p><p>Етап Sunrise відзначатиме оновлення всіх підграфів і завершення роботи для переходу до наступної фази The Graph, запрошуючи всіх користувачів хостингової служби у нову епоху незалежних даних!</p><p>На цьому етапі, що відповідає завершенню вікна оновлення, ендпоінти хостингового сервісу будуть виведені з експлуатації, що знаменує початок нового призначення хостингового сервісу - підтримці мережі в якості апгрейд індексатора.</p><p>Приєднуйтеся до святкування розробників з усього світу, які здобувають свободу та контроль над своїми потребами в області даних! Коли завершиться останній етап, учасники спільноти The Graph по всьому світу відзначатимуть початок нової ери децентралізованих даних.</p><p><strong>Яскраве і децентралізоване майбутнє</strong></p><p>На фазі Sunrise децентралізованих даних The Graph розробники підграфів, які допомогли сформувати історію web3, створюючи підграфи на хостинговому сервісі, отримають пам&apos;ятні ексклюзивні NFT на знак визнання їхнього внеску в The Graph - слідкуйте за новинами.</p><p>Мережа The Graph постійно розвивається, і Sunrise знаменує собою лише початок світлого майбутнього. Того, де розробники децентралізованих додатків зможуть використовувати стійкість і зрілість The Graph, отримуючи вигоду від сотень незалежних індексаторів, вищої якості послуг і прозорого ціноутворення, що визначається ринком!</p><p>Захоплені майбутнім децентралізованих даних? Підписуйтесь <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIFAOkrz0VfkpAD2oosPvlJDwq4tMM2nGUwYRWMxgnyPtkmxcMi25mgVlG-SiWBDLED8v1ZtIdaiJ15cPYGhvrUiK7W3TgrKP_3bKJbju9ocE8khAG82AByhzgGJUhhjjnTRRV8sAdfO1xCDGGZLF_gvLy_CWTQpx1FJ_9s8SlH1E2tDWnBmZwpoj-lViMTEO-fy2413i-2B2JT">тут</a>, щоб отримувати новини про запуск кожного етапу Sunrise.</p><p>Маєте запитання? Переходьте на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/sunrise/">нашу сторінку з поширеними запитаннями (FAQ)</a> для отримання додаткової інформації або поставте своє запитання в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">Discord</a>.</p><hr><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/6b9cc92d02c55e1c11f093342611986c3da308bd83c2e266f0824f9919575f99.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph’s Community Talk #28]]></title>
            <link>https://paragraph.com/@night0x/the-graph-s-community-talk-28</link>
            <guid>EVB9uOPnCGNhQkBVPqGe</guid>
            <pubDate>Tue, 07 May 2024 09:19:26 GMT</pubDate>
            <description><![CDATA[https://forum.thegraph.com/t/the-graphs-community-talk-28/4693 Зустріч зі спільнотою відбулася у вівторок, 17 жовтня о 8:00 ранку за PST. The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на Discord. Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію. Детальні записи по кожній з тем з час...]]></description>
            <content:encoded><![CDATA[<div data-type="youtube" videoId="diM_NAyJYLc">
      <div class="youtube-player" data-id="diM_NAyJYLc" style="background-image: url('https://i.ytimg.com/vi/diM_NAyJYLc/hqdefault.jpg'); background-size: cover; background-position: center">
        <a href="https://www.youtube.com/watch?v=diM_NAyJYLc">
          <img src="{{DOMAIN}}/editor/youtube/play.png" class="play"/>
        </a>
      </div></div><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-graphs-community-talk-28/4693">https://forum.thegraph.com/t/the-graphs-community-talk-28/4693</a></p><p>Зустріч зі спільнотою відбулася у вівторок, 17 жовтня о 8:00 ранку за PST.</p><p>The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP"><strong>Discord</strong></a>.</p><p><strong>Порада</strong>: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію.</p><p>Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче.</p><p>The Graph Community Talk орієнтована на широку аудиторію незалежно від досвіду. Ми сподіваємося на активну участь спільноти і чекаємо на вашу залученість!</p><p>Ви можете знайти цю та всі інші події всередині спільноти в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://calendar.google.com/calendar/u/0/embed?src=info@thegraph.foundation"><strong>календарі</strong></a>. Підпишіться на календар, щоб бути в курсі усіх майбутніх подій!</p><p><strong>Стислий виклад</strong></p><p><strong>Останні новини спільноти (00:00)</strong></p><ul><li><p>Паралельні заходи Devconnect</p></li><li><p>Спонсорство та призи на EthGlobal</p></li><li><p>Майбутні заходи в Латинській Америці</p></li><li><p>Технічна консультативна рада (TAB)</p></li><li><p>Індексатор оновлень Edge &amp; Node</p></li><li><p>Святкування третього дня народження</p></li><li><p>Щомісячні оновлення основних розробників</p></li><li><p>Подкасти GRTiQ (епізоди з 134 по 137)</p></li></ul><p><strong>Демоверсі з хакатону EthNewYork (04:20)</strong></p><ul><li><p>Переможці та їхні проекти</p></li><li><p>TeachAI</p></li><li><p>Leverage Labs</p></li><li><p>Використання The Graph в проектах</p></li><li><p>Поради хакатону</p></li></ul><p><strong>Eth Rome(13:34)</strong></p><ul><li><p>Основні події</p></li><li><p>Переможці та їхні проекти</p><ul><li><p>Sharknado</p></li><li><p>Zola</p></li></ul></li><li><p>Поради хакатону</p></li></ul><p><strong>The Graph India (35:22)</strong></p><ul><li><p>Заснування та ініціативи</p></li><li><p>Воркшопи від гуру The Graph</p></li><li><p>Плани щодо ETHIndia на грудень 2023 року</p></li></ul><p><strong>Новини спільноти (00:00)</strong></p><p>The Graph візьме участь у кількох паралельних заходах для <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://devconnect.org/"><strong>Devconnect</strong></a>, включаючи <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lu.ma/qwvo9tgo"><strong>DataPalooza</strong></a>, організовану The Graph Foundation. DataPalooza має на меті дослідити потреби інфраструктури та даних в мережі Ethereum і більш широкій екосистемі web3, охоплюючи широкий спектр тем: децентралізовані додатки, аналітика, інструментарій, LLM і багато іншого. Також ознайомтеся з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lu.ma/ethkampus"><strong>ETHKampus</strong></a>, хакерським осередком, який розмістить 30 розробників в Faik Paha під час Devconnect.</p><p>The Graph є спонсором EthGlobal і буде видавати <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/events/istanbul/prizes/the-graph-xawdg">призи</a>, тому розробників заохочують використовувати The Graph під час розробки! У найближчі місяці The Graph також візьме участь у деяких заходах в Латинській Америці, зокрема, відбудеться <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lu.ma/ro8d5bry">супутній захід</a> на ETH Mexico, а також захід у Перу, де будуть проведені воркшопи під керівництвом The Graph Advocates.</p><p>The Graph Council створює Technical Advisory Board (&quot;TAB&quot;) для прискорення R&amp;D і покращення технічних аспектів протоколу. Панель відкрита для подання кандидатів! Надсилайте свою кандидатуру або  кандидатуру когось іншого <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/introducing-the-graph-s-technical-advisory-board/4561">сюди</a>!</p><p>Якщо ви ще не знаєте, Edge &amp; Node запускає апгрейд індексатора, про <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-sunrise-is-upon-us-our-commitment-to-upgrading-all-traffic-to-the-network/4572">який Tegan Kline оголосила на форумі</a> і в X/Twitter. Він буде діяти як резервний механізм, щоб гарантувати, що всі підграфи, які оновлюються, можуть обслуговуватися, пропонуючи кілька переваг для розробників децентралізованих додатків і гарантуючи, що користувачі хостингових сервісів зможуть безперешкодно перейти на мережу The Graph.</p><p>У грудні The Graph святкуватиме свій третій день народження, і вже підтверджені заходи у трьох містах. Подробиці будуть повідомлені на наступній зустрічі спільноти!</p><p>Опубліковані щомісячні оновлення від основних розробників. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/c/research/cd-1-pager-updates/70"><strong>Зайдіть на форум</strong></a> , щоб ознайомитися з ними!</p><p><strong>Нові випуски GRTiQ</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-134-ben-jones/"><strong>Подкаст GRTiQ: 134</strong> <strong>Ben Jones</strong></a></p><p>У цьому подкасті Ben Jones, Director в Optimism Foundation, розповідає про свій шлях у web3, витоки Optimism, L2 рішення та роль The Graph в екосистемі.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-135-pedro-diogo/"><strong>Подкаст GRTiQ: 135 Pedro Diogo</strong> </a></p><p>У цьому подкасті виступив Pedro Diogo, Technical Program Manager в The Graph Foundation, який розповів про своє минуле, крипто-френдлі статус Португалії та свою роботу в The Graph, включаючи програму MIPs і новий процес інтеграції мереж.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-136-thierry-bleau/"><strong>Подкаст GRTiQ: 136 Thierry Bleau</strong></a></p><p>У цьому подкасті Thierry Bleau, Co-founder і COO в Playgrounds, розповідає про нещодавно випущений Playgrounds API і свій шлях у простір web3.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-137-saihajpreet-singh/"><strong>Подкаст GRTiQ: 137 Saihajpreet Singh</strong></a></p><p>У цьому подкасті виступив Saihajpreet Singh,  Software Engineer в The Guild, розповівши про свій освітній шлях, внесок у розвиток спільноти GraphQL, а також про технології The Graph та web3.</p><p><strong>Демоверсії на EthNewYork Hackathon (04:20)</strong></p><p>На Community Talk #28 були представлені демоверсії від команд, які виграли призи за участь у хакатоні в ETHNewYork. TeachAI виграли нагороду за найкращий новий підграф чи підпотоки, а Leverage Labs - за найкраще використання підграфа або підпотоків.</p><p><strong>TeachAI</strong></p><p><strong>TeachAI</strong> -</p><p>це чат-додаток, де користувачі взаємодіють з моделлю штучного інтелекту. Користувачі платять за запитання, оцінюють відповіді ШІ та отримують знижку за свої відгуки. Усі дії відкрито фіксуються за допомогою технології блокчейн. Команда представила свій проект на зустрічі спільноти та розповіла про його дизайн, мету і те, як він використовує The Graph.</p><p><strong>Як The Graph використовується у проекті</strong></p><p>Підграфи в TeachAI слугують основою даних, збираючи всі взаємодії користувачів і зразки відповідей. Вони відстежують усе : від початкового запиту до оцінки користувачем відповіді штучного інтелекту. Це забезпечує повну прозорість еволюції ШІ-моделі, допомагає визначити сильні та слабкі сторони системи та сприяє постійному вдосконаленню. Отже, підграфи допомагають:</p><ul><li><p>Забезпечувати безперебійний інтерфейс для відображення ончейн даних.</p></li><li><p>Перевіряти індексацію даних, розширюючи доступ до цінних відгуків, які можуть бути використані для покращення моделей.</p></li><li><p>Забезпечувати систему, за допомогою якої ви можете відстежувати еволюцію LLM, приписуючи зміни в моделі не лише певним даним, але й певним категоріям користувачів.</p></li></ul><p><strong>Поради хакатону:</strong></p><p>Для успішного використання підграфів на хакатонах, акцентуйте увагу на написанні якісного коду та детальній документації. Зробіть вашу структуру чіткою, додавши пояснення для полегшення використання. Намагайтесь забезпечити модульність, щоб спростити подальші ітерації. Не зупиняйтеся на вивченні нових можливостей, таких як підграфи IPFS, для повного використання платформи. Основне завдання - створити добре задокументований, універсальний і високоякісний підграф, який легко зрозуміти і можна використовувати як еталон.</p><p><strong>Leverage Labs (27:26)</strong></p><p>Leverage Labs - це веб-додаток на основі React, розроблений для вирішення проблеми ліквідацій на ринку кредитування NFT, зокрема на Blur.io. Інструмент, який спочатку був зосереджений на управлінні кредитами для NFT Bored Ape Yacht Club (як найбільшого поточного ринку кредитування), зараз надає користувачам оповіщення та інформацію про стан їхніх кредитів через Wallet Connect Web3Inbox. Крім того, він надає цінні дані про кредитування NFT, зібрані за допомогою протоколу The Graph. Додаток також представляє функцію під назвою “Noundvisor”, натхненну Windows Clippy, щоб надавати сповіщення та поради.</p><p><strong>Роль The Graph:</strong></p><p>The Graph є невід&apos;ємною частиною як для запиту останнього статусу кредиту для розсилки сповіщень, так і для створення інсайтів, представлених у веб-додатку. Він спростив складні процеси ETL (Event-Trigger-Load) та індексування, що дозволило Leverage Labs зіставити події в мережі зі значущими та придатними до дії даними.</p><p><strong>Поради хакатону:</strong></p><p>Найбільш корисним підходом на хакатоні, особливо при використанні спонсорських технологій, таких як The Graph, є пряма взаємодія з командою, яка стоїть за технологією. Це дає безцінну інформацію, яка не обмежується документацією.</p><p><strong>Еth Rome (13:34)</strong></p><p>Andrea підкреслила успіх заходу ETHRome, в якому взяли участь понад 130 розробників, які спільно створили понад 40 проектів. На заході було запропоновано винагороду у розмірі $2,500 завдяки The Graph AdvocatesDAO. Marcus провів воркшоп, присвячений використанню The Graph, який був використаний у 25% проектів. Учасники також мали можливість заробити ETHRome POAP-токени. Sharknado скористались можливістю презентувати свій проект, продемонструвавши, як вони використовували The Graph.</p><p>Переможці у номінації Best New Subgraph/Substreams:</p><ol><li><p>Sharknado</p></li><li><p>Zola</p></li><li><p>Quo Roma &amp; GM ID</p></li></ol><p>Переможці у номінації Best Use of Existing Subgraph/Substreams:</p><ol><li><p>CarbonaraAI</p></li><li><p>Bounty Arena</p></li></ol><p>Sharknado</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnfyh1ya00gmye01j19ob1rz/idea"><strong>Sharknado</strong></a> - це платформа для опитувань на основі блокчейну, яка фокусується на конфіденційності та вибірковій участі. Користувачі можуть брати участь в опитуваннях, тільки якщо вони володіють певним NFT, наприклад, “shark токеном” команди. Участь є приватною, тобто ніхто не може побачити адресу учасника. Платформа також пропонує псевдо-приватні виплати, що дає переможцям можливість вказати іншу адресу для отримання винагороди. Унікальність опитувань полягає в їх роботі на засадах лотереї. Після досягнення певної кількості учасників випадковим чином обирається один переможець, який отримує всі винагороди. Проект використовує підграфи для збору та відображення інформації, наприклад, про переможця лотереї. Вони показали, наскільки просто використовувати Subgraph Studio під час дзвінка!</p><p><strong>Zola</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethrome/hackathons/ethrome-23/projects/clnh3ngrx01o8wu01gvev6bv0/idea"><strong>Zola</strong></a> - це рішення для масштабування блокчейну, яке має на меті покращити користувацький досвід при купівлі та продажу фізичних і цифрових продуктів. Розроблений на хакатоні ETHRome, Zola представив функцію онлайн ескроу з підвищенням рівня конфіденційності через Railgun. Особливістю Zola є те, що він зосереджений на захисті особистих даних користувачів, зберігаючи при цьому прозорість. Команда створила демо-версію інтерфейсу та SDK, який є модульним і може бути легко інтегрований іншими розробниками. Передбачений підграф, дозволяє налаштовувати розгорнуті смарт-контракти ескроу. У Zola також передбачена функція конфіденційності для піддоменів ENS, яка дозволяє користувачам анонімно захищати свої піддомени, не розкриваючи їх власників. Незважаючи на свої надійні функції конфіденційності, Zola все ще пропонує повну прозорість через The Graph, показуючи відкриті ескроу транзакцій та іншу основну інформацію, фактично приховуючи лише ідентичність учасників.</p><p><strong>Поради хакатону:</strong></p><p>Основні поради для використання підграфів на хакатонах включають початок роботи заздалегідь і спрямованість на створення продукту мінімальної життєздатності (MVP) протягом першого дня. Не залишайте важливі функції на останні кілька годин до дедлайну. Підграфи зручні та швидкі в налаштуванні, але якщо ви новачок, дайте собі достатньо часу, щоб навчитися. Крім того, стати  Graph Advocate - це чудовий спосіб долучитися до спільноти The Graph, особливо для тих, хто зацікавлений у подальшій роботі.</p><p><strong>The Graph India (35:22)</strong></p><p>The Graph India була заснована в липні 2023 року під девізом “Лідерство з емпатією”. Того ж місяця вони запустили ініціативу під назвою Graph-A-Thon, щоб зв&apos;язатися з досвідченими розробниками. У серпні вони розгорнули програму під назвою “Навігація у світі Web3 з The Graph India”, ініціативу, повністю очолювану адвокатами, яка включала онлайн-сесії, щоб сприяти створенню середовища співпраці між Graph Advocates в Індії.</p><p>У вересні було почалося формування нового бренду, покликаного відобразити культуру Індії та пояснити ідентичність організації. Вони проводять серію з 11 воркшопів по всій Індії. Ці воркшопи розділені на три сегменти: вступ до мережі The Graph та її продукти, створення підграфів і як зробити свій внесок в якості Graph Advocate. Ті, хто беруть участь у цих семінарах, можуть отримати звання “Graph Guru”. У майбутньому The Graph India має плани щодо ETHIndia у грудні 2023 року, де вони допоможуть з базовою логістикою та воркшопами.</p><p>Дані, зібрані під час цих ініціатив, будуть корисними для подальших заходів і для безпосереднього поширення повідомлень від The Graph Foundation та Graph AdvocatesDAO для ширшої спільноти.</p><p>Співпраця важлива для The Graph India, і команда вірить у тісну співпрацю з усіма членами спільноти The Graph та заохочує членів спільноти долучатися до неї!</p><p><strong>Залишайтеся з нами!</strong></p><p>Приєднуйтесь до нас наступного місяця на зустрічі спільноти #29!</p><p>Будьте в курсі подій, долучаючись до дискусій на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://forum.thegraph.com/"><strong>форумі</strong></a>, слідкуючи за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol"><strong>X( у минулому Twitter)</strong></a> або приєднавшись до **<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord</a> **сервера.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
        <item>
            <title><![CDATA[Introducing the Upgrade Indexer: New Developer Benefits, Easier Network Upgrades]]></title>
            <link>https://paragraph.com/@night0x/introducing-the-upgrade-indexer-new-developer-benefits-easier-network-upgrades</link>
            <guid>BtAtkHgBTnrIEbyqsLcN</guid>
            <pubDate>Tue, 07 May 2024 09:16:00 GMT</pubDate>
            <description><![CDATA[https://thegraph.com/blog/upgrade-indexer/ Екосистема The Graph залишається відданою своїй місії: Зробити відкриті дані доступними для всіх. Виконання цієї місії також означає підтримку розробників з найкращим у своїй області досвідом роботи з даними в децентралізованій мережі. Edge & Node та інші ключові розробники вже більше року працюють над оновленнями, які покращують якість обслуговування в мережі, вартість послуг та досвід розробників. Настав час всім скористатися перевагами мережі, вкл...]]></description>
            <content:encoded><![CDATA[<p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/upgrade-indexer/">https://thegraph.com/blog/upgrade-indexer/</a></p><p>Екосистема The Graph залишається відданою своїй місії: <strong>Зробити відкриті дані доступними для всіх</strong>. Виконання цієї місії також означає підтримку розробників з найкращим у своїй області досвідом роботи з даними в децентралізованій мережі. Edge &amp; Node та інші ключові розробники вже більше року працюють над оновленнями, які покращують якість обслуговування в мережі, вартість послуг та досвід розробників. Настав час всім скористатися перевагами мережі, включаючи нижчу вартість запитів, надійний час безвідмовної роботи, високу швидкість синхронізації, надійну систему підтримки користувачів та багато іншого - і все це без прив&apos;язки до одного постачальника. Ось кілька причин, чому Edge &amp; Node раді представити рішення, яке незабаром стане доступним, щоб зробити оновлення з хостингової служби ще простішим: <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/edge-node-to-spin-up-an-upgrade-indexer/4498">апгрейд індексатора</a>.</p><p><strong>Яка мета індексатора оновлень?</strong></p><p>Індексатор оновлень буде резервним механізмом, який гарантує, що кожен підграф, який оновлюється до мережі, може обслуговуватися мережею. Це ще один спосіб, за допомогою якого екосистема The Graph надасть максимальну підтримку розробникам і дозволить кожному передати свої потреби в індексації в мережу, не припиняючи підтримку критично важливої інфраструктури, на яку сьогодні покладаються десятки тисяч розробників.</p><p>Цей індексатор допоможе завантажувати нові мережі в основну мережу і покращить досвід оновлення підграфів з хостингового сервісу, гарантуючи, що індексатор буде готовий обслуговувати запити одразу після публікації підграфа (або нової версії підграфа) в мережі. Інакше кажучи, Індексатор допомагає користувачам хостингу оновлювати свої підграфи в мережі The Graph без переривання роботи сервісу. Очікується, що залежність від такого Індексатора  з часом буде зменшуватись.</p><p>Індексатор не лише слугує мостом між хостинговим сервісом і мережею та захистом для безперервного обслуговування, він також надає кілька нових переваг.</p><p><strong>Переваги для розробників децентралізованих додатків</strong></p><p>Мережа The Graph продовжує пропонувати неперевершені переваги для розробників децентралізованих додатків, такі як: висока якість послуг, низька вартість та надійна безпека децентралізації. Індексатор оновлень розширює переваги мережі The Graph, а саме:</p><ul><li><p><strong>Безкоштовне оновлення до мережі The Graph</strong>: Апгрейд індексатор дасть розробникам підграфів змогу оновлювати підграфи хостингового сервісу до The Graph і починати виконувати запити якомога швидше без переривання роботи сервісу. Він надасть простий і безперебійний спосіб тестування вашого підграфа. Після того як ви подасте сигнал на свій підграф, індексатор буде поступово зменшувати підтримку, що сприятиме привертанню підтримки інших індексаторів.</p></li><li><p><strong>Бутстрап нових мереж в основній мережі:</strong> Сьогодні хостинговий сервіс підтримує більше 40 блокчейн-мереж. Апргрейд прискорить інтеграцію багатьох з цих мереж з хостингу в мережу The Graph. Однак, нові мережі, які підтримуються індексатором, не одразу отримають право на винагороду за індексацію. Щоб отримати винагороду за індексацію, кожна мережа повинна пройти голосування всередині мережі за допомогою програми <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/chain-integration-overview/">Chain Integration Process</a></p></li><li><p><strong>Попередньо синхронізовані підграфи:</strong> Всі підграфи хостингового сервісу вже будуть синхронізовані з індексатором, що забезпечить негайну і якісну підтримку в мережі.</p></li></ul><p>The Graph пропонує децентралізований підхід до індексації даних блокчейну, що дозволяє розробникам передавати свою інфраструктуру на аутсорсинг надійній мережі, яку живлять сотні незалежних індексаторів по всьому світу.</p><p><strong>Що це означає для інших індексаторів?</strong></p><p>Як згадувалося на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/edge-node-to-spin-up-an-upgrade-indexer/4498">The Graph&apos;s Forum</a>, апгрейд індексатор слугує механізмом бутстрапу для підграфів, які не підтримуються, і він не збиратиме винагороду за індексацію і не буде конкурувати з іншими індексаторами. Він виділятиме мінімальну суму на підграф, збираючи плату лише за виконані запити.</p><p>Більш того, усі існуючі індексатори також матимуть можливість без дозволу приєднатися як апгрейд індексатори. Список мереж і підграфів для попереднього індексування буде опублікований перед випуском апгрейд індексатора від Edge &amp; Node.</p><p><strong>Розквіт децентралізованих даних</strong></p><p>Як випливає з назви, апгрейд індексатор дозволить розробникам оновлювати підграфи своїх хостингових сервісів, щоб насолоджуватися якістю обслуговування і гнучкістю мережі The Graph. Індексатор дозволить всім учасникам мережі просто і безперешкодно перейти на мережу The Graph, прокладаючи шлях до нового періоду розквіту децентралізованих даних.</p><p>Edge &amp; Node та інші основні розробники екосистеми працюють над подальшим підвищенням стійкості The Graph та розширенням того, що раніше було оголошено як “<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/transitioning-to-decentralized-graph-network/">Розквіт децентралізованих даних The Graph</a>”. Невдовзі буде оприлюднено новий, оновлений план, сповнений нових удосконалень для The Graph без необхідності жертвувати безперервністю роботи сервісу для розробників.</p><p>Яскраве децентралізоване майбутнє вже на порозі. Залишайтеся з нами!</p><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/988e9bc91cb71e1c6ebcb5f6f7eb21491f25c40ce7524d1f9538aa04473736c5.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[ The Graph Builders Newsletter #9]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-9</link>
            <guid>HlEomg6wUz11VKPjskdn</guid>
            <pubDate>Tue, 07 May 2024 09:13:44 GMT</pubDate>
            <description><![CDATA[**🏗️ Підписуйтесь на інформаційний бюлетень The Graph Builders🏗️ ** gm web3 builders, Дякуємо, що відкрили для себе The Graph Builders Newsletter #9 - за вересень 2023, де ми ділимось новинами екосистеми The Graph, що будуть корисні для розробників 🏗️ Отже, давайте починати! Теми на вересень 2023 рокуПопередній перегляд нових функцій підграфівСуттєве покращення продуктивності підграфів на основі підпотоківDataSourceContext у маніфестіendBlock тепер доступний у маніфестіСтворення за допомог...]]></description>
            <content:encoded><![CDATA[<p>**🏗️ <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH">Підписуйтесь</a> на інформаційний бюлетень The Graph Builders🏗️ **</p><p><strong>gm web3 builders,</strong></p><p>Дякуємо, що відкрили для себе <strong>The Graph Builders Newsletter #9 - за вересень 2023,</strong> де ми ділимось новинами екосистеми The Graph, що будуть корисні для розробників 🏗️</p><p>Отже, давайте починати!</p><p><strong>Теми на вересень 2023 року</strong></p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-9/#previewing-upcoming-subgraph-features-in-graph-node-0-33-0">Попередній перегляд нових функцій підграфів</a></p><ul><li><p>Суттєве покращення продуктивності підграфів на основі підпотоків</p></li><li><p>DataSourceContext у маніфесті</p></li><li><p>endBlock тепер доступний у маніфесті</p></li></ul></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-9/#building-with-the-graph-workshops">Створення за допомогою The Graph - Воркшопи</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-9/#the-graph-hackathons">Хакатони The Graph</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-9/#want-to-participate-in-the-graph-ecosystem">Приймайте участь у екосистемі The Graph</a></p><ul><li><p>Приєднуйтесь  The Graph BuildersDAO</p></li><li><p>Підписуйтесь на бета-версію The Graph Billing Subscriptions</p></li></ul></li></ul><p><strong>🔼 Попередній перегляд майбутніх функцій підграфів у <em>graph-node</em> 0.33.0</strong> 🔼</p><p>У <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/">Builders Newsletter</a> минулого місяця ми бачили фрагменти, що демонстрували нові функції, такі як підтримка Arweave, файлові джерела даних, що генерують інші файлові джерела даних, обробники опитувань та обробники ініціалізації. Все це стало можливим завдяки випуску graph-node0.32.0. Що за місяць!</p><p>Зараз ми готуємося до випуску graph-node 0.33.0, яка має вийти вже незабаром! Це оновлення принесе кілька важливих оновлень:</p><p><em>DataSource Context</em> <strong>у маніфесті підграфа</strong></p><p>Передача даних від одного обробника до іншого під час темплейтінгу раніше була можлива у наших відображеннях підграфів за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-context"><em>DataSource Context</em></a>, але тепер ця функція доступна у файлі <em>subgraph.yaml</em>!</p><p>Ця можливість буде корисною для темплейтінгу специфічних для ончейн даних у підграфах, які використовують ту саму кодову базу у декількох мережах. Як тільки буде випущено версію 0.33.0, спробуйте її!</p><pre data-type="codeBlock" text="name: Factory
    network: mainnet
    context:
      foo:
      bool_example:
        type: Bool
        data: true
      int8_example:
        type: Int8
        data: 64
      big_decimal_example:
        type: BigDecimal
        data: 10.99
      bytes_example:
        type: Bytes
        data: \&quot;0x68656c6c6f\&quot;
      list_example:
        type: List
        data:
          - type: Int
            data: 1
          - type: Int
            data: 2
          - type: Int
            data: 3
      big_int_example:
        type: BigInt
        data: \&quot;1000000000000000000000000\&quot;
      string_example:
        type: String
        data: bar
      qux:
        data: \&quot;bar\&quot;
      int_example:
        type: Int
        data: 42
"><code><span class="hljs-attr">name:</span> <span class="hljs-string">Factory</span>
    <span class="hljs-attr">network:</span> <span class="hljs-string">mainnet</span>
    <span class="hljs-attr">context:</span>
      <span class="hljs-attr">foo:</span>
      <span class="hljs-attr">bool_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Bool</span>
        <span class="hljs-attr">data:</span> <span class="hljs-literal">true</span>
      <span class="hljs-attr">int8_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Int8</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">64</span>
      <span class="hljs-attr">big_decimal_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">BigDecimal</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">10.99</span>
      <span class="hljs-attr">bytes_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Bytes</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"0x68656c6c6f\"</span>
      <span class="hljs-attr">list_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">List</span>
        <span class="hljs-attr">data:</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">1</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">2</span>
          <span class="hljs-bullet">-</span> <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
            <span class="hljs-attr">data:</span> <span class="hljs-number">3</span>
      <span class="hljs-attr">big_int_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">BigInt</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"1000000000000000000000000\"</span>
      <span class="hljs-attr">string_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">String</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">bar</span>
      <span class="hljs-attr">qux:</span>
        <span class="hljs-attr">data:</span> <span class="hljs-string">\"bar\"</span>
      <span class="hljs-attr">int_example:</span>
        <span class="hljs-attr">type:</span> <span class="hljs-string">Int</span>
        <span class="hljs-attr">data:</span> <span class="hljs-number">42</span>
</code></pre><p><em>endBlock</em> <strong>визначений у</strong> <em>subgraph.yaml</em></p><p>Під час створення підграфа ми визначаємо <em>startBlock</em> з якого починається індексація. Тепер ми також маємо <em>endBlock</em>  щоб змістити фокус нашого підграфа лише на конкретний набір блоків!</p><pre data-type="codeBlock" text="source:
  address: &apos;0x...&apos;
  abi: Contract
  startBlock: 1000000
  endBlock:  1500000
"><code><span class="hljs-attr">source:</span>
  <span class="hljs-attr">address:</span> <span class="hljs-string">'0x...'</span>
  <span class="hljs-attr">abi:</span> <span class="hljs-string">Contract</span>
  <span class="hljs-attr">startBlock:</span> <span class="hljs-number">1000000</span>
  <span class="hljs-attr">endBlock:</span>  <span class="hljs-number">1500000</span>
</code></pre><p><strong>Суттєве покращення продуктивності підграфів на основі підпотоків</strong></p><p>Завдяки перенесенню обробки підпотоків у блок ми досягли значного покращення продуктивності для підграфів на основі підпотоків .</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/substreams-powered-subgraphs/">Підграфи на основі підпотоків</a>, опубліковані в мережі The Graph, є ключовим елементом, що підвищує швидкість і надійність децентралізованого індексування. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/substreams/README/">Спробуйте створити підграф на основі підпотоків</a>, а потім опублікуйте його в мережі The Graph, щоб забезпечити децентралізацію вашого конвеєра даних!</p><p>🏗️ <strong>Розробка за допомогою The Graph - воркшопи</strong>🏗️</p><p><strong>The Graph Builders Office Hours - щочетверга о 17:00 UTC</strong></p><p><strong>Щочетверга о 17:00 UTC приєднуйтесь до The Graph Builders Office Hours</strong>, який проводить Developer Relations Engineer з Edge &amp; Node <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/DNUKDAyhxy">The Graph Discord</a>. Кожна сесія включає в себе воркшопи у режимі реального часу та дискусії Q&amp;A з розробниками, які працюють в екосистемі The Graph.</p><p><strong>Почніть розробляти швидко з попередніми воркшопами The Graph Builders Office Hours!</strong></p><ul><li><p>Пориньте у нові можливості підграфів - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/fytMd4unIbU">обробники ініціалізації та обробники опитувань</a></p></li><li><p>Розробляйте зі <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/0uDC0BcHcY4">стандартними підграфами Messari</a></p></li><li><p>Почніть кодувати швидко за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/27lXf86XinY">стартового набору для хакатону, який використовує The Graph</a></p></li><li><p>Створіть децентралізований додаток за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/pt349W5Bki4">Scaffold-Eth 2 та The Graph</a></p></li><li><p>Дізнайтеся, наскільки потужними можуть бути <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/sLXbMKeWKM4">підграфи на основі підпотоків</a></p></li><li><p>Пориньте в аналітику даних підграфів за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/SElseP9t50A">Playgrounds</a></p></li><li><p>Перенесіть офчейн дані до підграфів за допомогою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/DQ19ejdk4Ec">File Data Sources</a></p></li></ul><p><strong>Не знайшли тему, яку ви хотіли б розглянути?</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://noteforms.com/forms/topic-request-form-8j2s2r?notionforms=1"><strong>Надішліть запит на тему</strong></a> <strong>для наступного епізоду The Graph Builders Office Hours, і ми додамо її!</strong></p><p><strong>Вчіться з Kevin Jones, також відомого як Cryptomastery.eth</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/2611c91a75305761c6953f790d6a1e21475f8c372f46f09f340fe386e0433d1b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Developer Relations Engineer <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.x.com/cryptomastery_">Kevin Jones</a> проведе багато презентацій у наступному місяці. Спіймайте його, якщо зможете!</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lu.ma/eth-rome">Воркшоп з full stack розробки  децентралізованого додатку на буткемпі в ETH Rome </a></p></li><li><p>Вступ до Scaffold-ETH 2 в ETH Rome</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.eventbrite.com/e/workshop-querying-web3-data-with-the-graph-tickets-721641267457?aff=oddtdtcreator">Запити даних Web3 за допомогою The Graph в House of Web3</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://apiworld.co/">Створення децентралізованого додатку за допомогою Scaffold-ETH 2 та The Graph</a> на API World у Сан-Хосе, Каліфорнія</p></li><li><p>Вступ до Scaffold-ETH 2 на ETH Miami</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bcamp.dev/the-graph-workshop">Вступ до full stack розробки децентралізованих додатків на Bcamp (онлайн)</a></p></li></ul><p><strong>Дізнайтеся, як робити запити до мережі The Graph</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f7f07ce5d2ec39a3a82cd4c3ff19709d78d3b331113dc696cf0985e135cee3a0.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Переходьте до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/live/b1Owlr6hdtY?si=egfvvpY1e56p2m6s&amp;t=4865">20-хвилинного запису</a> воркшопу, який провів Developer Relations <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/marcus_rein_">Marcus Rein</a> на нещодавньому хакатоні EthGlobal NYC 2023! Після завершення запису перейдіть до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/marcusrein/Subgraph-Query-Workshop-2023">репозиторію воркшопу</a>, щоб отримати код для роботи з запитами до мережі The Graph!</p><p>Він проведе цей воркшоп на EthRome та EthMiami.</p><p><strong>Хакатони The Graph</strong></p><p><strong>EthAccra та EthGlobal NYC</strong></p><p>На хакатони EthAccra та EthGlobal NYC 2023 було подано кілька неймовірних заявок!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8518f6b5a9c7a8d54d60406f63f70a2ede87391232f6454a8e1d602815fc93eb.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Надихайтеся переможцями головного призу🥇<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethaccra/hackathons/hackathon/projects/clm98ajq300uctn01apgornkf/idea">Challenge Pool</a> 🥇<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/showcase/teachai-pkr1z">TeachAI</a> та 🥇<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/showcase/leverage-labs-aa9ao">Leverage Labs</a>! Знайдіть подальше натхнення, переглянувши повний список заявок на хакатон <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://taikai.network/ethaccra/hackathons/hackathon/projects">EthAccra 2023</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/showcase?events=newyork2023">EthGlobal NYC 2023</a>!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f52e70d0b29ef723bebe32da35597ca3ddd02ba520e4c2e9616051329635d153.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>The Graph також буде представлений на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethrome.org/">EthRome</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethmiami.net/">EthMiami</a> - сподіваємось побачити вас там!</p><p><strong>Хочете взяти участь в роботі екосистеми The Graph?</strong></p><p><strong>⚙️ Будуйте разом з The Graph BuildersDAO ⚙️</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/59c4cdf6c08d7f906354e7fa20caa2a19e65b287f485ca10d45004399f92f0e2.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buildersdao.tech/">The Graph BuildersDAO</a>!</p><p><strong>The Graph BuildersDAO - це спільнота розробників, які надають свої послуги зі створення децентралізованих додатків та протоколів.</strong></p><p>Ця спільнота шукає розробників з різним рівнем досвіду роботи зі смарт-контрактами, Rust, фронтенд-фреймворками, DevOps, підграфами та підпотоками, які приєднаються до спільноти та візьмуть участь у різноманітних проектах.</p><p>Крім того, якщо у вас є проект, в роботі над яким потрібна допомога розробника, The Graph BuildersDAO - чудовий ресурс, який допоможе вам створити власний підграф або підпотік! <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphbuilders">Зв&apos;яжіться з нами</a>!</p><p>➕ <strong>Підписуйтесь на бета-версію The Graph Billing Subscriptions</strong>➕</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0880ef71086e92a4a134d5cddffc58581377073fed39614cfdaa98f022ba7705.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>The Graph Billing Subscriptions</strong> - <em>це альтернатива наявній системі білінгу за фактом використання The Graph</em> , яка, як ми надіємось, спростить оплату до рівня &quot;встановив і забув&quot;.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.notion.site/The-Graph-Subscriptions-Beta-Program-User-Onboarding-Docs-f1c6b1fb9f2646eeb1bd2ae9bdf242f5">Підпишіться</a> на бета-версію The Graph Subscriptions!</p><hr><p><strong>Опитування для розробників</strong></p><p><strong>Створення мережі The Graph - це спільна робота, і основні розробники будуть раді почути ваш фідбек!</strong></p><p>Наскільки ймовірно, що ви б порекомендували децентралізовану мережу The Graph співрозробникам по web3? Просто натисніть емодзі, щоб проголосувати.</p><p>🙂 😐 🙁</p><p>**Дякуємо за прочитання та легкого створення!**💌</p><p>Marcus Rein</p><p>Developer Relations and Success</p><p>Edge &amp; Node, працює над The Graph</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/265397ab289c940179290b1f61a922b0359f804c84398a94ff62858e7a28c122.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph’s Community Talk #27]]></title>
            <link>https://paragraph.com/@night0x/the-graph-s-community-talk-27</link>
            <guid>CAVNLcVrOKVDAONeKXAp</guid>
            <pubDate>Tue, 07 May 2024 09:07:21 GMT</pubDate>
            <description><![CDATA[Source - link The Graph’s Community Talk #27 відбулася у вівторок, 19 серпня о 8:00 ранку за PST. The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage у Discord. Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію. Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/3c8f97de719f1cc155346d473ee19db96b53f18af62beeae2f45c427d2440447.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Source - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/t/the-graphs-community-talk-27/4548/1">link</a></p><p>The Graph’s Community Talk #27 відбулася у вівторок, 19 серпня о 8:00 ранку за PST.</p><p>The Graph&apos;s Community Talk охоплює широкий спектр тем з нашої мережі та надає учасникам вичерпну інформацію про останні події в екосистемі The Graph. Зустрічі проходять на каналі The Graph Stage у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.gg/vtvv7FP">Discord</a>.</p><p>Порада: перейдіть до каналу Events у верхній частині сервера Discord і встановіть собі нагадування про подію.</p><p>Детальні записи по кожній з тем з часовими позначками ви можете побачити нижче.</p><p>The Graph Community Talk орієнтована на широку аудиторію незалежно від досвіду. Ми сподіваємося на активну участь спільноти і чекаємо на вашу залученість!</p><p>Ви можете знайти цю та всі інші події спільноти в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://calendar.google.com/calendar/u/0/embed?src=info@thegraph.foundation">календарі</a>. Підпишіться на календар, щоб бути в курсі усіх майбутніх подій!</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/_gvuLxYtwK0?si=u6y3m5S2L-AMaKcr"><strong>The Graph&apos;s Community Talk #27</strong></a></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fb96e5528b94b53c24d8020e0ae58c93809f1a65afcab34b9ebf69ee152e0548.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Останні новини спільноти (00:00)</strong></p><p>Під час зустрічі було висвітлено кілька оновлень в екосистемі The Graph. Зустріч розпочалася з новин спільноти.</p><p>The Graph є почесним спонсором <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://events.messari.io/mainnet2023">Messari Mainnet</a>, що відбудеться з 20 по 22 вересня. Крім того, організація надасть винагороди та забезпечить присутність на Eth New York. Представники Graph AdvocatesDAO, Pinax та Edge &amp; Node відвідали <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.dappcon.io/">DappCon Berlin</a> від імені спільноти The Graph. До спільноти приєдналися 26 нових Graph Advocates з таких країн, як Індія та Нідерланди, включаючи першого Advocate з Болівії. У Варрі, в Нігерії, Graph Advocates організували хакатон, а також провели кілька воркшопів у коледжах Індії. Щоб зробити платформу більш доступною, Graph Advocates були зайняті перекладом документації The Graph різними мовами.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-129-marcus-rein/"><strong>Подкаст GRTiQ: 129 Marcus Rein</strong></a></p><p>У цьому епізоді Marcus Rein з Edge &amp; Node розповідає про свою роль у програмі &quot; Developer Success and Relations&quot;, унікальний досвід у сфері фізичного здоров&apos;я та свій шлях від програміста-самоучки до ключового учасника спільноти The Graph.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-130-matthew-darwin/"><strong>Подкаст GRTiQ: 130 Matthew Darwin</strong></a></p><p>У цьому епізоді Matthew Darwin, Co-Founder і Chief Infrastructure Officer в Pinax, розповідає про свій шлях у web3, важливу роль Pinax в екосистемі The Graph та про їхній внесок у технології індексування, такі як Firehose і підпотоки.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-131-marek-olszewski/"><strong>Подкаст GRTiQ: 131 Marek Olszewski</strong></a></p><p>У цьому епізоді Marek Olszewski, CTO в  cLabs і President Valora, розповідає про свій шлях від закінчення аспірантури в Массачусетському технологічному інституті до заснування Locu (пізніше придбаної компанією GoDaddy), а також про зростання Celo, провідного блокчейну web3, і його прагненням перейти на L2. Було обговорено величезний спектр тем, від підприємницької діяльності до останніх подій у web3 та The Graph.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-132-kevin-jones/"><strong>Подкаст GRTiQ: 132 Kevin Jones</strong></a></p><p>У цьому епізоді Kevin Jones, Developer Relations Engineer в Edge &amp; Node, розповідає про свій різноплановий кар&apos;єрний шлях, на початку якого він займався графічним дизайном і роздрібною торгівлею в магазині Best Buy, і в кінці якого він став впливовою фігурою в екосистемі Ethereum, а також про те, як він перейшов на постійну роботу в web3, очолюючи трансформаційні проекти і пропонуючи розуміння таких проектів з відкритим вихідним кодом, як Scaffold-ETH і BuildersDAO.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.grtiq.com/grtiq-podcast-133-anton-gaev/"><strong>Подкаст GRTiQ: 133 Anton Gaev</strong></a></p><p>Цей епізод містить розмову з Anton Gaev, Product Manager для L2s і The Graph в P2P, про його великий досвід роботи з web3, роль одного з найбільших індексаторів The Graph і погляди на майбутнє рішень щодо Layer 2.</p><p><strong>Transfers Tools</strong></p><p><strong>(03:11)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/CAAQCKw5eV4?si=yTVBmbWUyX-hOYU_"><strong>How to Transfer Delegation to Arbitrum One</strong></a></p><p>Що таке інструменти міграції? The Graph спростив і зменшив ціну за перехід учасників мережі на Arbitrum One  у 26 разів за допомогою L2 Transfer Tools, які пропонують кроки для конкретних ролей і помічників для забезпечення безперешкодного процесу переходу, уникаючи при цьому періодів розблокування і ручного виведення GRT. Презентація на цій зустрічі спільноти висвітлювала використання інструментів переходу в The Graph Explorer - з акцентом на передачу делегації - і є особливо цікавою для делегатів, зацікавлених у передачі своєї делегації.</p><p>Делегати побачать повідомлення із закликом перенести свій стейк, який також включає неотримані винагороди, з рівня 1 (L1) на рівень 2 (L2). Процес переносу займає близько 20 хвилин, і користувачі можуть змінювати гаманці, наприклад, з MetaMask на Ledger. Важливо перевірити можливості обраного вами індексатора, щоб переконатися, що він не переделегований, перш ніж завершити транзакцію. Для відстеження статусу міграції доступні додаткові інструменти, а будь-які проблеми з інтерфейсом можна вирішити за посиланнями, наданими в чаті Discord. Поточна винагорода на L2 становить 25%, і на момент презентації 9% від загальної кількості часток вже мігрували.</p><p>Ознайомтеся з цими ресурсами з презентації:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://retryable-dashboard.arbitrum.io/">https://retryable-dashboard.arbitrum.io/</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://dapplooker.com/%20dashboard/the-graph-protocol-12-dashboard-%20553">https://dapplooker.com/%20dashboard/the-graph-protocol-12-dashboard-%20553</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.graphtronauts.com/navigating-your-delegation-post-transfer-tools-ad9abcb09cf7">https://blog.graphtronauts.com/navigating-your-delegation-post-transfer-tools-ad9abcb09cf7</a></p><p><strong>Нові Community Managers (10:15)</strong></p><p>Graph Foundation розширив свою діяльність, призначивши відповідних менеджерів у ключових регіонах, таких як Латинська Америка, Індія та Азіатсько-Тихоокеанський регіон. Їм доручено розвивати спільноту розробників, особливо в таких регіонах, як Індія, які є осередками талантів у сфері розробки. Працюючи пліч-о-пліч, вони беруть активну участь в організації заходів та зустрічей, сприяючи зростанню спільноти. У деяких випадках їм допомагають координатори та внутрішні групи, щоб ефективно охопити великі регіони, за які вони відповідають. Ініціатива діє вже кілька місяців і сприймається досить позитивно. Хоча наразі основна увага приділяється цим обраним регіонам, вже розробляються плани щодо поширення цієї ініціативи на Африку. Загалом, менеджери прагнуть діяти як каталізатори не лише зростання спільноти, але й сприяти спільним зусиллям у різних регіонах.</p><p><strong>The Graph в Індії (19:27)</strong></p><p>На цій зустрічі Pranav розповів про те, що The Graph відвідає 11 великих університетів в рамках туру &quot;Мільярд причин будувати&quot;, де вони проведуть воркшопи, на яких навчать будувати субграфи, ключовий компонент екосистеми The Graph. Результати двох таких воркшопів показали високий рівень залученості та розвитку навичок: сотні студентів успішно побудували та розгорнули субграфи до кінця. Ці зусилля спрямовані на те, щоб сприяти залученню спільноти та позиціонувати технологію Web3, включаючи сервіси The Graph, як стандарт у швидкозростаючій технологічній екосистемі Індії.</p><p><strong>Події та досвід (26:30)</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.ethaccra.xyz/"><strong>ETHAccra</strong></a><strong> та </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.dappcon.io/"><strong>DappCon Berlin</strong></a></p><p>ETHAccra і DappCon Berlin стали важливими подіями для спільнот Ethereum і The Graph. ETH Accra відзначився тим, що став першим заходом Ethereum в Західній Африці, спрямованим на сприяння навчанню і розвитку децентралізованих технологій; The Graph виступив головним спонсором, і вісім з 15 команд хакатону використовували The Graph для своїх проектів. DappCon Berlin був ще однією великою подією, особливо зосередженою на технічних аспектах, де The Graph також мав сильну присутність і високу залученість, що свідчить про зростаюче визнання The Graph серед ширшої спільноти. Обидва заходи продемонстрували ефективне залучення спільноти та технічну підтримку, створивши підґрунтя для проведення більшої кількості подібних заходів у майбутньому.</p><p><strong>Події, пов’язані з ETH в Аргентині</strong></p><p>Минулого місяця на ETH Buenos Aires відбувся важливий воркшоп, організований у співпраці з Arbitrum та Chainlink. Захід мав на меті навчити розробників створювати та переносити підграфи до Arbitrum. На воркшопі виступили спікери з GraphOps та Edge &amp; Node. Більшою метою є перехід розробників з web2 на web3 та залучення Technical Graph Advocates, що розширить охоплення мережі. Це частина ширшої ініціативи з проведення подібних заходів по всій Латинській Америці, з акцентом на децентралізованих додатках та переході на web3. Наступний захід заплановано в ETHMexico.</p><p><strong>Залишайтеся з нами!</strong></p><p>Приєднуйтесь до нас наступного місяця на зустрічі спільноти #28!</p><p>Будьте в курсі подій, долучаючись до дискусій на форумі, слідкуючи за The Graph у Twitter або приєднавшись до Discord сервера.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/50319cadb57499069e45bd4cd4cd31c35eb87ea86012b2729269a527107ab39e.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://calendar.google.com/calendar/u/0/r?cid=info@thegraph.foundation">https://calendar.google.com/calendar/u/0/r?cid=info@thegraph.foundation</a></p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
        <item>
            <title><![CDATA[The Graph Client - Written Tutorial]]></title>
            <link>https://paragraph.com/@night0x/the-graph-client-written-tutorial</link>
            <guid>cumJtvNi9o5cXCOrWfI5</guid>
            <pubDate>Tue, 07 May 2024 08:46:25 GMT</pubDate>
            <description><![CDATA[Source - link Ласкаво прошу до цього туторіалу. Мене звуть Mel, і в цьому відео/інструкції ви дізнаєтеся, як інтегрувати запити The Graph безпосередньо у ваш React-додаток, використовуючи Graph Client The Graph як інструмент для створення graphql-запитів на JavaScript. Ви зможете створювати запити для різних підграфів і навіть встановлювати так звані “live запити”, схожі на підписки, для отримання потокових даних у реальному часі у вашому додатку. Це чудова відправна точка для використання Th...]]></description>
            <content:encoded><![CDATA[<p>Source - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://innvertir.notion.site/The-Graph-Client-Written-Tutorial-8e65ada17c684f3fb17d75c9afa6658f">link</a></p><p>Ласкаво прошу до цього туторіалу. Мене звуть <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/0xAMC">Mel</a>, і в цьому відео/інструкції ви дізнаєтеся, як інтегрувати запити The Graph безпосередньо у ваш React-додаток, використовуючи Graph Client The Graph як інструмент для створення graphql-запитів на JavaScript.</p><p>Ви зможете створювати запити для різних підграфів і навіть встановлювати так звані “live запити”, схожі на підписки, для отримання потокових даних у реальному часі у вашому додатку. Це чудова відправна точка для використання The Graph і API-підходу для отримання даних з мережі у ваш додаток.</p><p>Наш заключний додаток матиме наступну функціональність:</p><p>На вкладці ENS ми зможемо робити запити до доменів ENS, використовуючи різні запити до підграфа, розміщеного на ENS. Ми можемо надсилати запиту у багато доменів, окремі домени за їхнім доменним ім&apos;ям, а також фільтруючий запит для отримання доменів на основі їхньої кількості піддоменів.</p><p>Якщо ми натиснемо на домен, він перенаправить нас на сторінку etherscan власника вибраного домену, або, краще сказати, на адресу, яка &quot;володіє&quot; доменом ENS.</p><p>На вкладці Swaps Live Query ми отримаємо прямий потік даних з Uniswap підграфа на хостинговому сервісі. Ми будемо оновлювати дані кожні 5 секунд, пам&apos;ятаючи, що майнінг та підтвердження блоків Ethereum зазвичай займає приблизно 12 секунд (якщо я не помиляюся). Іноді ми отримуємо ті ж самі дані з потоку даних, але ми отримуємо дані з підграфа кожні 5 секунд.</p><p>Я також додав ресурси: репозиторій The Graph на Github, де ви можете дослідити приклади, а також репозиторій цього туторіалу, де ви можете клонувати проект і почати вивчати його.</p><p><strong>Отже, як працює The Graph?</strong></p><p>Звичайний процес роботи децентралізованого додатку, інтегрованого з The Graph, виглядає наступним чином:</p><ol><li><p>Користувач взаємодіє з децентралізованим додатком, який додає дані в Ethereum через транзакцію на смарт-контракті</p></li><li><p>Смарт-контракт видає один або декілька events під час обробки транзакції .</p></li><li><p>Graph Node, яку можна уявити як сервер, постійно сканує Ethereum на наявність нових блоків і даних для вашого підграфа, які вони можуть містити.</p></li><li><p>Graph Node знаходить у цих блоках події Ethereum для вашого підграфа і, фактично, створює або оновлює об’єкти даних в своєму сховищі відповідно до подій Ethereum. Це трохи більш технічно, але це ж загальний огляд на високому рівні.</p></li><li><p>Децентралізований додаток запитує у Graph Node дані, проіндексовані в блокчейні, використовуючи <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphql.org/learn/">кінцеву точку ноди GraphQL</a> .</p></li><li><p>Децентралізований додаток відображає ці дані в багатому на дані інтерфейсі для кінцевих користувачів, який вони використовують для створення нових транзакцій в Ethereum.</p></li><li><p>Цикл повторюється.</p></li></ol><p><strong>Крок 1: Налаштування проекту</strong></p><p>Ми клонуємо репозиторій проекту з Github. Запустіть одну з цих команд з вашого термінала у вибраній теці:</p><pre data-type="codeBlock" text="# https
git clone https://github.com/angelmc32/the-graph-client-react-tutorial.git

# ssh
git clone git@github.com:angelmc32/the-graph-client-react-tutorial.git
"><code># https
git clone https:<span class="hljs-comment">//github.com/angelmc32/the-graph-client-react-tutorial.git</span>

# ssh
git clone git@github.com:angelmc32<span class="hljs-operator">/</span>the<span class="hljs-operator">-</span>graph<span class="hljs-operator">-</span>client<span class="hljs-operator">-</span>react<span class="hljs-operator">-</span>tutorial.git
</code></pre><p>Наш проект має бути завантажений в папку з назвою /the-graph-client-react-tutorial або з іншою назвою, яку ви оберете.</p><p>Якщо ви хочете слідувати цьому туторіалу і працювати за інструкцією, ви можете скористатися розділом проекту tutorial/start . В іншому випадку, ви можете дослідити повністю функціонуючий додаток в основному розділі.</p><p>Для кодування за інструкцією використовуйте команду git switch для переходу в розділ tutorial/start:</p><pre data-type="codeBlock" text="git switch tutorial/start
"><code>git <span class="hljs-keyword">switch</span> tutorial/start
</code></pre><p>Опинившись у цьому розділі, встановіть залежності проекту за допомогою npm install. Після успішної установки, ми запустимо сервер розробки:</p><pre data-type="codeBlock" text="# For this tutorial, we will use npm

# Install project dependencies, defined inside package.json file
npm install

# ... wait for dependencies to be installed 🤓

# Start development server
npm run dev
"><code><span class="hljs-comment"># For this tutorial, we will use npm</span>

<span class="hljs-comment"># Install project dependencies, defined inside package.json file</span>
npm install

<span class="hljs-comment"># ... wait for dependencies to be installed 🤓</span>

<span class="hljs-comment"># Start development server</span>
npm run dev
</code></pre><p>Якщо ви завантажуєте додаток за допомогою веб-браузера, за вказаною адресою <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://localhost/">локального сервера</a>, (<a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://localhost:5173">https://localhost:5173</a>) повинна з’явитись наступна сторінка:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/bca2d3737e42855e6f531d52650feb8853ab5aeb02d5940c0adbe7846fd37a2b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Крок 2: Налаштування graph client</strong></p><p>Для початку встановіть The Graph Client CLI у вашому проекті:</p><pre data-type="codeBlock" text="# npm
npm install --save-dev @graphprotocol/client-cli

# yarn
yarn add -D @graphprotocol/client-cli
"><code># npm
npm install <span class="hljs-operator">-</span><span class="hljs-operator">-</span>save<span class="hljs-operator">-</span>dev @graphprotocol<span class="hljs-operator">/</span>client<span class="hljs-operator">-</span>cli

# yarn
yarn add <span class="hljs-operator">-</span>D @graphprotocol<span class="hljs-operator">/</span>client<span class="hljs-operator">-</span>cli
</code></pre><p>Створіть конфігураційний файл (з назвою .graphclientrc.yml) у кореневій теці і вкажіть кінцеві точки GraphQL, які надані The Graph.</p><p>У цьому туторіалі ми будемо робити запити до підграфів ENS і UniswapV2 з хостингового сервісу The Graph:</p><pre data-type="codeBlock" text="# .graphclientrc.yml
sources:
  - name: ens
    handler:
      graphql:
        endpoint: https://api.thegraph.com/subgraphs/name/ensdomains/ens
  - name: uniswapv2
    handler:
      graphql:
        endpoint: https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2

plugins:
  - pollingLive:
      defaultInterval: 5000

documents:
  - src/graphql/*.graphql
"><code><span class="hljs-comment"># .graphclientrc.yml</span>
<span class="hljs-attr">sources:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">ens</span>
    <span class="hljs-attr">handler:</span>
      <span class="hljs-attr">graphql:</span>
        <span class="hljs-attr">endpoint:</span> <span class="hljs-string">https://api.thegraph.com/subgraphs/name/ensdomains/ens</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">uniswapv2</span>
    <span class="hljs-attr">handler:</span>
      <span class="hljs-attr">graphql:</span>
        <span class="hljs-attr">endpoint:</span> <span class="hljs-string">https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2</span>

<span class="hljs-attr">plugins:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">pollingLive:</span>
      <span class="hljs-attr">defaultInterval:</span> <span class="hljs-number">5000</span>

<span class="hljs-attr">documents:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-string">src/graphql/*.graphql</span>
</code></pre><p>Ми визначимо кінцеві точки API підграфу всередині джерел  і будемо налаштовувати плагін pollingLive для запитів у режимі реального часу зі стандартним інтервалом у п&apos;ять тисяч (5,000) мілісекунд (еквівалентно п&apos;яти секундам). Зрештою, ми вказуємо, звідки наші файли (документи) запитів graphql будуть зчитуватися graph-client, щоб згенерувати наші запити для JavaScript.</p><p>Переконайтеся, що у назві файлу &quot;.graphclientrc.yml&quot; першим стоїть символ &quot;.&quot;. В іншому випадку буде видано таку помилку:</p><pre data-type="codeBlock" text="Error: No graphclient config file found in &quot;&lt;your/project/folder&gt;&quot;!
"><code><span class="hljs-built_in">Error</span>: No graphclient config file found in <span class="hljs-string">"&#x3C;your/project/folder>"</span><span class="hljs-operator">!</span>
</code></pre><p>Додайте наступний код до об&apos;єкта scripts у вашому файлі package.json:</p><pre data-type="codeBlock" text="&quot;scripts&quot;: {
    &quot;dev&quot;: &quot;vite&quot;,
    &quot;build&quot;: &quot;vite build&quot;,
    &quot;preview&quot;: &quot;vite preview&quot;,
    &quot;build-client&quot;: &quot;graphclient build --fileType js&quot;,
    &quot;graphiql&quot;: &quot;graphclient serve-dev&quot;
  }
"><code><span class="hljs-attr">"scripts"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">"dev"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"vite"</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">"build"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"vite build"</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">"preview"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"vite preview"</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">"build-client"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"graphclient build --fileType js"</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">"graphiql"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"graphclient serve-dev"</span>
  <span class="hljs-punctuation">}</span>
</code></pre><p>Це дозволить нам запустити команду graphclient, запустивши npm run build-client у терміналі. Щоразу, коли ми захочемо створити або оновити наші файли запитів, наприклад, додати нові запити або змінити існуючі, нам потрібно буде запустити цю команду, щоб згенерувати найновіші файли для нашого коду JavaScript, який ми будемо використовувати всередині React-додатку. Це також дозволить нам запустити GUI для фронтенду схожого на GraphQL studio, де ви зможете досліджувати підграфи за допомогою наданих запитів.</p><p>Тепер наш package.json повинен виглядати так:</p><pre data-type="codeBlock" text="{
  &quot;name&quot;: &quot;graph-client-tutorial&quot;,
  &quot;private&quot;: true,
  &quot;version&quot;: &quot;0.0.0&quot;,
  &quot;type&quot;: &quot;module&quot;,
  &quot;scripts&quot;: {
    &quot;dev&quot;: &quot;vite&quot;,
    &quot;build&quot;: &quot;vite build&quot;,
    &quot;preview&quot;: &quot;vite preview&quot;,
    &quot;build-client&quot;: &quot;graphclient build --fileType js&quot;,
    &quot;graphiql&quot;: &quot;graphclient serve-dev&quot;
  },
  &quot;dependencies&quot;: {
    &quot;react&quot;: &quot;^18.2.0&quot;,
    &quot;react-dom&quot;: &quot;^18.2.0&quot;
  },
  &quot;devDependencies&quot;: {
    &quot;@graphprotocol/client-cli&quot;: &quot;^2.2.20&quot;,
    &quot;@types/react&quot;: &quot;^18.0.28&quot;,
    &quot;@types/react-dom&quot;: &quot;^18.0.11&quot;,
    &quot;@vitejs/plugin-react&quot;: &quot;^3.1.0&quot;,
    &quot;vite&quot;: &quot;^4.2.0&quot;
  }
}
"><code>{
  <span class="hljs-string">"name"</span>: <span class="hljs-string">"graph-client-tutorial"</span>,
  <span class="hljs-string">"private"</span>: true,
  <span class="hljs-string">"version"</span>: <span class="hljs-string">"0.0.0"</span>,
  <span class="hljs-string">"type"</span>: <span class="hljs-string">"module"</span>,
  <span class="hljs-string">"scripts"</span>: {
    <span class="hljs-string">"dev"</span>: <span class="hljs-string">"vite"</span>,
    <span class="hljs-string">"build"</span>: <span class="hljs-string">"vite build"</span>,
    <span class="hljs-string">"preview"</span>: <span class="hljs-string">"vite preview"</span>,
    <span class="hljs-string">"build-client"</span>: <span class="hljs-string">"graphclient build --fileType js"</span>,
    <span class="hljs-string">"graphiql"</span>: <span class="hljs-string">"graphclient serve-dev"</span>
  },
  <span class="hljs-string">"dependencies"</span>: {
    <span class="hljs-string">"react"</span>: <span class="hljs-string">"^18.2.0"</span>,
    <span class="hljs-string">"react-dom"</span>: <span class="hljs-string">"^18.2.0"</span>
  },
  <span class="hljs-string">"devDependencies"</span>: {
    <span class="hljs-string">"@graphprotocol/client-cli"</span>: <span class="hljs-string">"^2.2.20"</span>,
    <span class="hljs-string">"@types/react"</span>: <span class="hljs-string">"^18.0.28"</span>,
    <span class="hljs-string">"@types/react-dom"</span>: <span class="hljs-string">"^18.0.11"</span>,
    <span class="hljs-string">"@vitejs/plugin-react"</span>: <span class="hljs-string">"^3.1.0"</span>,
    <span class="hljs-string">"vite"</span>: <span class="hljs-string">"^4.2.0"</span>
  }
}
</code></pre><p>Тепер ми можемо визначити наші перші запити.</p><div data-type="subscribeButton" class="center-contents"><a class="email-subscribe-button" href="null">Subscribe</a></div><p><strong>Крок 3: Визначення запитів ENS</strong></p><p>Створіть новий файл під назвою ens-queries.graphql і помістіть його до теки src/graphql/. Вкажіть запити ENS наступним чином:</p><pre data-type="codeBlock" text="# src/graphql/ens-queries.graphql

query GetManyDomains {
  domains(first: 1000) {
    id
    name
    labelName
    labelhash
    owner {
      id
    }
  }
}

query GetDomainByLabelName($labelName: String!, $name: String!) {
  domains(where: { labelName: $labelName, name: $name }) {
    name
    labelName
    subdomainCount
    id
    owner {
      id
    }
  }
}

query GetDomainBySubdomainCount($min: Int!, $max: Int!) {
  domains(where: { subdomainCount_gte: $min, subdomainCount_lte: $max }) {
    name
    labelName
    subdomainCount
    subdomains {
      labelName
    }
    id
    owner {
      id
    }
    registration {
      cost
    }
  }
}
"><code><span class="hljs-comment"># src/graphql/ens-queries.graphql</span>

query GetManyDomains {
  domains(first: 1000) {
    <span class="hljs-built_in">id</span>
    name
    labelName
    labelhash
    owner {
      <span class="hljs-built_in">id</span>
    }
  }
}

query GetDomainByLabelName(<span class="hljs-variable">$labelName</span>: String!, <span class="hljs-variable">$name</span>: String!) {
  domains(<span class="hljs-built_in">where</span>: { labelName: <span class="hljs-variable">$labelName</span>, name: <span class="hljs-variable">$name</span> }) {
    name
    labelName
    subdomainCount
    <span class="hljs-built_in">id</span>
    owner {
      <span class="hljs-built_in">id</span>
    }
  }
}

query GetDomainBySubdomainCount(<span class="hljs-variable">$min</span>: Int!, <span class="hljs-variable">$max</span>: Int!) {
  domains(<span class="hljs-built_in">where</span>: { subdomainCount_gte: <span class="hljs-variable">$min</span>, subdomainCount_lte: <span class="hljs-variable">$max</span> }) {
    name
    labelName
    subdomainCount
    subdomains {
      labelName
    }
    <span class="hljs-built_in">id</span>
    owner {
      <span class="hljs-built_in">id</span>
    }
    registration {
      cost
    }
  }
}
</code></pre><p>Запустіть доданий нами скрипт, щоб згенерувати готовий до використання код JavaScript:</p><pre data-type="codeBlock" text="npm run build-client
"><code>npm run build-client
</code></pre><p>В результаті буде створено теку .graphclient/ в кореневій теці проекту. Ця тека містить необхідний код для запиту підграфа, який ми налаштували, безпосередньо з наших фронтенд-компонентів React.</p><p>Тепер наш проект налаштований на відправку запитів до підграфів, визначених у файлі .graphclientrc.yml (кінцеві точки ENS та UniswapV2).</p><p>Ми можемо почати кодування нашого фронтенду, щоб дозволити нашим користувачам робити запити до підграфів.</p><p><strong>Крок 4: Редагування ENSComponent для взаємодії із запитами ENS</strong></p><p>Перейдіть до теки components/ і відкрийте файл ENSComponent.jsx. Ми відредагуємо наш ENSComponent для використання трьох (3) запитів, які ми визначили у нашому файлі ens-queries.graphql.</p><p>Спочатку імпортуємо запити у файл.</p><p>Ми створимо три (3) функції, які будуть запускати запити при виконанні, а саме:</p><ul><li><p>getManyDomains</p></li><li><p>getDomainsByLabelName</p></li><li><p>getDomainsBySubdomainCount</p></li></ul><p>Ми призначимо ці функції для окремих кнопок в межах форми. Всі вони матимуть однаковий шаблон:</p><ol><li><p>Запобіжіть стандартній поведінці при виконанні методу onClick елемента кнопки, щоб уникнути перезавантаження сторінки.</p></li><li><p>Встановіть змінну стану isLoading на значення true, щоб вказати, що ви завантажуєте дані, для кращого користувацького досвіду.</p></li><li><p>Виконайте запит і збережіть результати в іншій змінній стану, яка буде містити всі результати запитів. Ми будемо використовувати цю змінну стану для відображення запитуваних даних користувачеві.</p></li><li><p>Встановіть змінну стану завантаження на значення false, щоб вказати, що ви більше не завантажуєте дані.</p></li></ol><pre data-type="codeBlock" text="// src/components/ENSComponent.jsx

import { useState } from &quot;react&quot;;
import logo from &quot;../logo.svg&quot;;

// Import the query documents, as well as the execute method
import {
  GetManyDomainsDocument,
  GetDomainByLabelNameDocument,
  GetDomainBySubdomainCountDocument,
  execute,
} from &quot;../../.graphclient/index&quot;;

const ENSForm = () =&gt; {
  const [domains, setDomains] = useState([]);
  const [labelName, setLabelName] = useState(&quot;&quot;);
  const [minSubdomains, setMinSubdomains] = useState(1);
  const [maxSubdomains, setMaxSubdomains] = useState(5);
  const [isLoading, setIsLoading] = useState(false);

  const getManyDomains = (event) =&gt; {

        // 1. Prevent page refresh on click (default behavior)
    event.preventDefault();

        // 2. Set loading variable to true: currently loading query data
    setIsLoading(true);

        // 3. Execute the query and save the data inside state variable
    execute(GetManyDomainsDocument, {}).then((result) =&gt; {
      setDomains(result.data.domains);

        // 4. Set loading variable to false: we have finished loading query data
      setIsLoading(false);
    });
  };

  const getDomainsByLabelName = (event) =&gt; {

        // 1. Prevent page refresh on click (default behavior)
    event.preventDefault();

        // 2. Set loading variable to true: currently loading query data
    setIsLoading(true);

        // 3. Execute the query and save the data inside state variable
    execute(GetDomainByLabelNameDocument, {
      labelName: labelName,
      name: `${labelName}.eth`,
    }).then((result) =&gt; {
      setDomains(result.data.domains);

        // 4. Set loading variable to false: we have finished loading query data
      setIsLoading(false);
    });
  };

  const getDomainsBySubdomainCount = (event) =&gt; {

        // 1. Prevent page refresh on click (default behavior)
    event.preventDefault();

        // 2. Set loading variable to true: currently loading query data
    setIsLoading(true);

        // 3. Execute the query and save the data inside state variable
    execute(GetDomainBySubdomainCountDocument, {
      min: parseInt(minSubdomains),
      max: parseInt(maxSubdomains),
    }).then((result) =&gt; {
      setDomains(result.data.domains);

        // 4. Set loading variable to false: we have finished loading query data
      setIsLoading(false);
    });
  };
"><code><span class="hljs-comment">// src/components/ENSComponent.jsx</span>

<span class="hljs-keyword">import</span> { <span class="hljs-title">useState</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"react"</span>;
<span class="hljs-keyword">import</span> <span class="hljs-title">logo</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"../logo.svg"</span>;

<span class="hljs-comment">// Import the query documents, as well as the execute method</span>
<span class="hljs-keyword">import</span> {
  <span class="hljs-title">GetManyDomainsDocument</span>,
  <span class="hljs-title">GetDomainByLabelNameDocument</span>,
  <span class="hljs-title">GetDomainBySubdomainCountDocument</span>,
  <span class="hljs-title">execute</span>,
} <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"../../.graphclient/index"</span>;

const ENSForm <span class="hljs-operator">=</span> () <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
  const [domains, setDomains] <span class="hljs-operator">=</span> useState([]);
  const [labelName, setLabelName] <span class="hljs-operator">=</span> useState(<span class="hljs-string">""</span>);
  const [minSubdomains, setMinSubdomains] <span class="hljs-operator">=</span> useState(<span class="hljs-number">1</span>);
  const [maxSubdomains, setMaxSubdomains] <span class="hljs-operator">=</span> useState(<span class="hljs-number">5</span>);
  const [isLoading, setIsLoading] <span class="hljs-operator">=</span> useState(<span class="hljs-literal">false</span>);

  const getManyDomains <span class="hljs-operator">=</span> (<span class="hljs-function"><span class="hljs-keyword">event</span>) => </span>{

        <span class="hljs-comment">// 1. Prevent page refresh on click (default behavior)</span>
    <span class="hljs-keyword">event</span>.preventDefault();

        <span class="hljs-comment">// 2. Set loading variable to true: currently loading query data</span>
    setIsLoading(<span class="hljs-literal">true</span>);

        <span class="hljs-comment">// 3. Execute the query and save the data inside state variable</span>
    execute(GetManyDomainsDocument, {}).then((result) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
      setDomains(result.data.domains);

        <span class="hljs-comment">// 4. Set loading variable to false: we have finished loading query data</span>
      setIsLoading(<span class="hljs-literal">false</span>);
    });
  };

  const getDomainsByLabelName <span class="hljs-operator">=</span> (<span class="hljs-function"><span class="hljs-keyword">event</span>) => </span>{

        <span class="hljs-comment">// 1. Prevent page refresh on click (default behavior)</span>
    <span class="hljs-keyword">event</span>.preventDefault();

        <span class="hljs-comment">// 2. Set loading variable to true: currently loading query data</span>
    setIsLoading(<span class="hljs-literal">true</span>);

        <span class="hljs-comment">// 3. Execute the query and save the data inside state variable</span>
    execute(GetDomainByLabelNameDocument, {
      labelName: labelName,
      name: `${labelName}.eth`,
    }).then((result) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
      setDomains(result.data.domains);

        <span class="hljs-comment">// 4. Set loading variable to false: we have finished loading query data</span>
      setIsLoading(<span class="hljs-literal">false</span>);
    });
  };

  const getDomainsBySubdomainCount <span class="hljs-operator">=</span> (<span class="hljs-function"><span class="hljs-keyword">event</span>) => </span>{

        <span class="hljs-comment">// 1. Prevent page refresh on click (default behavior)</span>
    <span class="hljs-keyword">event</span>.preventDefault();

        <span class="hljs-comment">// 2. Set loading variable to true: currently loading query data</span>
    setIsLoading(<span class="hljs-literal">true</span>);

        <span class="hljs-comment">// 3. Execute the query and save the data inside state variable</span>
    execute(GetDomainBySubdomainCountDocument, {
      min: parseInt(minSubdomains),
      max: parseInt(maxSubdomains),
    }).then((result) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
      setDomains(result.data.domains);

        <span class="hljs-comment">// 4. Set loading variable to false: we have finished loading query data</span>
      setIsLoading(<span class="hljs-literal">false</span>);
    });
  };
</code></pre><p>Тепер у JSX все налаштовано. Якщо ваш сервер розробки не працює, ви можете запустити його за допомогою npm run dev, і тепер ви зможете використовувати ENS запити. Спробуйте їх! Ми зробимо запит на &quot;Many ENS domains&quot;. Список запитуваних ENS-доменів буде показано праворуч від компонента форми.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/12033bc694e8d588a517d510f1ca2fe6ff7e81a11b93cd7e54cd62425f750c92.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Якщо ви натиснете на один з доменів ENS, ви потрапите на сторінку etherscan, якій належить домен ENS.</p><p>Спробуйте інші запити, щоб протестувати наш код.</p><p><strong>Крок 5: Визначення запитів UniswapV2</strong></p><p>Схожий процес для наших Uniswap-запитів: створіть новий файл з назвою uniswap-queries.graphql і помістіть його в теку src/graphql/. Визначимо запити Uniswap наступним чином:</p><pre data-type="codeBlock" text="# src/graphql/uniswap-queries.graphql

query GetManySwaps @live {
  swaps(orderBy: timestamp, first: 15, orderDirection: desc) {
    id
    amountUSD
    pair {
      token0 {
        name
        symbol
      }
      token0Price
      token1 {
        name
        symbol
      }
      token1Price
    }
    timestamp
  }
}
"><code># <span class="hljs-attribute">src</span>/graphql/uniswap-queries<span class="hljs-selector-class">.graphql</span>

query GetManySwaps <span class="hljs-keyword">@live</span> {
  <span class="hljs-built_in">swaps</span>(orderBy: timestamp, first: <span class="hljs-number">15</span>, orderDirection: desc) {
    id
    amountUSD
    pair {
      token0 {
        name
        symbol
      }
      token0Price
      token1 {
        name
        symbol
      }
      token1Price
    }
    timestamp
  }
}
</code></pre><p>Оскільки ми хочемо отримати потік даних від API підграфа UniswapV2, ми повинні встановити директиву @live для нашого запиту. The Graph Client згенерує необхідний код, який дозволить нам отримати функціональність, подібну до підписки, отримувати дані в режимі реального часу без необхідності виконувати запит вручну.</p><p>У нашому конфігураційному файлі .graphclientrc.yml ми визначили pollingInterval  в п&apos;ять (5) секунд, що швидше, ніж видобуток блоків Ethereum, який становить дванадцять (12) секунд. Таким чином, дані можуть не оновлюватися після кожного оновлення запиту, але ми будемо бачити оновлення в режимі реального часу після видобутку кожного блоку.</p><p>Запустіть скрипт build-client. Graph-client згенерує нові запити разом з попередніми, і знову згенерує все, що знаходиться в теці .graphclient/.</p><pre data-type="codeBlock" text="npm run build-client
"><code>npm run build-client
</code></pre><p>Ми готові інтегрувати live запит Uniswap в наш фронтенд-компонент.</p><p><strong>Крок 6: Відредагуйте компонент App для взаємодії з live запитом UniswapV2</strong></p><p>Перейдіть до теки src/ і відкрийте файл App.jsx. Ми відредагуємо наш компонент App, щоб використовувати live запит, який ми визначили в нашому файлі uniswap-queries.graphql.</p><p>Спершу імпортуємо запити до файлу (код нижче, для довідки). Ми також імпортуємо метод subscribe.</p><p>Ми створимо одну (1) функцію, яка створить підписку на запит і буде виконувати запит кожні 5 секунд:</p><p>- subscribeLiveQuery</p><p>Ми призначимо ці функції для завантаження при зміні стану змінної showTab. Після того, як наш користувач натисне на кнопку &quot;show Swaps Live Query&quot;, спрацює метод subscribe.</p><p>Ми повторюємо шаблон, з важливою зміною:</p><ol><li><p>Встановіть змінну стану isLoading на значення true, щоб вказати, що ми завантажуємо дані, для кращого користувацького досвіду.</p></li><li><p>Виконуємо метод subscription, передаючи в якості аргументу наш документ запиту.</p></li><li><p>Коли ми отримаємо результат subscription, ми можемо виконати метод .next(), який надає нам відповідь зі значеннями даних, які ми визначили в нашому файлі uniswap-queries.graphql. Ми зберігаємо дані у змінній стану swaps.</p></li><li><p>Проводимо перевірку, щоб перевірити, чи наш live запит все ще активний, за допомогою властивості isLive. Якщо значення true, ми застосовуємо рекурсію, щоб знову викликати функцію і отримати оновлені дані.</p></li><li><p>Якщо запит неактивний, isLive === false, ми встановлюємо змінну стану завантаження на значення false, щоб вказати, що ми більше не завантажуємо дані.</p></li></ol><p>Тепер ми хочемо виконати нашу функцію subscribeLiveQuery, коли користувач натискає кнопку &quot;Swap Live Query&quot;. Ми змінюємо функцію showComponent. Наш файл App.jsx повинен виглядати так:</p><pre data-type="codeBlock" text="// src/App.jsx

import { useState } from &quot;react&quot;;
import &quot;./App.css&quot;;
import Navbar from &quot;./components/Navbar&quot;;
import ENSComponent from &quot;./components/ENSComponent&quot;;
import SwapsComponent from &quot;./components/SwapsComponent&quot;;

// Import the query document and the subscribe method
import { GetManySwapsDocument, subscribe } from &quot;../.graphclient/index&quot;;

function App() {

    // Add this state variable to save the swap data
  const [swaps, setSwaps] = useState([]);

  const [isLoading, setIsLoading] = useState(false);
  const [showTab, setShowTab] = useState(&quot;ens-query&quot;);

  const subscribeLiveQuery = async () =&gt; {
    setIsLoading(true);
    subscribe(GetManySwapsDocument, {})
      .then((result) =&gt; {
        result
          .next()
          .then((res) =&gt; {
            if (res) {
              if (res.value) {
                // Leaving this to show live query on demo
                console.log(
                  ` Last registered swap value: $ ${parseFloat(
                    res.value.data.swaps[0].amountUSD
                  ).toFixed(2)}`
                );
                setSwaps(res.value.data.swaps);
              }
            }
            if (res.value.isLive) {
              setTimeout(() =&gt; {
                subscribeLiveQuery();
              }, 5000);
            } else {
              result.return();
            }
          })
          .catch((e) =&gt; console.log(e));
        if (!result) {
          return null;
        }
        setIsLoading(false);
      })
      .catch((error) =&gt; {
        console.log(error);
        setIsLoading(false);
      });
  };

    const showComponent = async (component = &quot;ens-query&quot;) =&gt; {
    if (component === &quot;dex-query&quot;) {
      await subscribeLiveQuery();
    }
    setShowTab(component);
  };

  //
    // Rest of component
    //

}
"><code><span class="hljs-comment">// src/App.jsx</span>

<span class="hljs-keyword">import</span> { <span class="hljs-title">useState</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"react"</span>;
<span class="hljs-keyword">import</span> <span class="hljs-string">"./App.css"</span>;
<span class="hljs-keyword">import</span> <span class="hljs-title">Navbar</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"./components/Navbar"</span>;
<span class="hljs-keyword">import</span> <span class="hljs-title">ENSComponent</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"./components/ENSComponent"</span>;
<span class="hljs-keyword">import</span> <span class="hljs-title">SwapsComponent</span> <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"./components/SwapsComponent"</span>;

<span class="hljs-comment">// Import the query document and the subscribe method</span>
<span class="hljs-keyword">import</span> { <span class="hljs-title">GetManySwapsDocument</span>, <span class="hljs-title">subscribe</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">"../.graphclient/index"</span>;

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">App</span>(<span class="hljs-params"></span>) </span>{

    <span class="hljs-comment">// Add this state variable to save the swap data</span>
  const [swaps, setSwaps] <span class="hljs-operator">=</span> useState([]);

  const [isLoading, setIsLoading] <span class="hljs-operator">=</span> useState(<span class="hljs-literal">false</span>);
  const [showTab, setShowTab] <span class="hljs-operator">=</span> useState(<span class="hljs-string">"ens-query"</span>);

  const subscribeLiveQuery <span class="hljs-operator">=</span> async () <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
    setIsLoading(<span class="hljs-literal">true</span>);
    subscribe(GetManySwapsDocument, {})
      .then((result) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
        result
          .next()
          .then((res) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
            <span class="hljs-keyword">if</span> (res) {
              <span class="hljs-keyword">if</span> (res.<span class="hljs-built_in">value</span>) {
                <span class="hljs-comment">// Leaving this to show live query on demo</span>
                console.log(
                  ` Last registered swap <span class="hljs-built_in">value</span>: $ ${parseFloat(
                    res.<span class="hljs-built_in">value</span>.data.swaps[<span class="hljs-number">0</span>].amountUSD
                  ).toFixed(<span class="hljs-number">2</span>)}`
                );
                setSwaps(res.<span class="hljs-built_in">value</span>.data.swaps);
              }
            }
            <span class="hljs-keyword">if</span> (res.<span class="hljs-built_in">value</span>.isLive) {
              setTimeout(() <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
                subscribeLiveQuery();
              }, <span class="hljs-number">5000</span>);
            } <span class="hljs-keyword">else</span> {
              result.return();
            }
          })
          .catch((e) <span class="hljs-operator">=</span><span class="hljs-operator">></span> console.log(e));
        <span class="hljs-keyword">if</span> (<span class="hljs-operator">!</span>result) {
          <span class="hljs-keyword">return</span> null;
        }
        setIsLoading(<span class="hljs-literal">false</span>);
      })
      .catch((<span class="hljs-function"><span class="hljs-keyword">error</span>) => </span>{
        console.log(<span class="hljs-function"><span class="hljs-keyword">error</span>)</span>;
        setIsLoading(<span class="hljs-literal">false</span>);
      });
  };

    const showComponent <span class="hljs-operator">=</span> async (component <span class="hljs-operator">=</span> <span class="hljs-string">"ens-query"</span>) <span class="hljs-operator">=</span><span class="hljs-operator">></span> {
    <span class="hljs-keyword">if</span> (component <span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-string">"dex-query"</span>) {
      await subscribeLiveQuery();
    }
    setShowTab(component);
  };

  <span class="hljs-comment">//</span>
    <span class="hljs-comment">// Rest of component</span>
    <span class="hljs-comment">//</span>

}
</code></pre><p>Переконайтеся, що додали гак useState для змінної стану swaps. Також переконайтеся, що передаєте змінну стану swaps нашому компоненту SwapsComponent як props:</p><pre data-type="codeBlock" text="function App() {
    const [swaps, setSwaps] = useState([]);
    
    //
    // Rest of code
    //

    return(
        // Rest of JSX
            {showTab === &quot;dex-query&quot; &amp;&amp; (
        &lt;SwapsComponent isLoading={isLoading} swaps={swaps} /&gt;
      )}
        // Rest of JSX
    )
}
"><code><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">App</span>(<span class="hljs-params"></span>) </span>{
    const [swaps, setSwaps] <span class="hljs-operator">=</span> useState([]);
    
    <span class="hljs-comment">//</span>
    <span class="hljs-comment">// Rest of code</span>
    <span class="hljs-comment">//</span>

    <span class="hljs-keyword">return</span>(
        <span class="hljs-comment">// Rest of JSX</span>
            {showTab <span class="hljs-operator">=</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-string">"dex-query"</span> <span class="hljs-operator">&#x26;</span><span class="hljs-operator">&#x26;</span> (
        <span class="hljs-operator">&#x3C;</span>SwapsComponent isLoading<span class="hljs-operator">=</span>{isLoading} swaps<span class="hljs-operator">=</span>{swaps} <span class="hljs-operator">/</span><span class="hljs-operator">></span>
      )}
        <span class="hljs-comment">// Rest of JSX</span>
    )
}
</code></pre><p>Тепер ви повинні побачити таблицю з даними про swaps, яка автоматично оновлюється завдяки реалізації live запиту, що надається The Graph Client!</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/131ab260a56d62b69b54734465d5c564cf6afc5c9aae9140656b5375de2782b4.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Висновок</strong></p><p>У цьому туторіалі ми дізналися, як інтегрувати The Graph Client у фронтенд React. Цей туторіал має допомогти вам як відправна точка для інтеграції підграфів The Graph у ваш проект і відображення on-chain даних вашим користувачам, навіть у реальному часі, за допомогою підходу API.</p><p>Я сподіваюся, що цей туторіал допоможе вам стати більш досвідченим у розробці web3 додатків. Якщо вам сподобався туторіал, ви можете висловити свою вдячність, поділившись ним з друзями та колегами.</p><p>Підписуйтесь на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://lenstube.xyz/channel/innvertir.lens">Lens</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/0xAMC">Twitter</a> , це також буде чудово! А якщо ви хочете підтримати мене, ви завжди можете замінтити цей туторіал на Lens. Приємного кодування!</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/4cb9f4c37f18e316520666f2d9a7acc4b8f54a3ea9a43c38be2d6cc83a488163.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Subgrounds: Запити до підграфів для аналізу даних]]></title>
            <link>https://paragraph.com/@night0x/subgrounds</link>
            <guid>yBBQ1Vd5YX9S2OXW5Zce</guid>
            <pubDate>Mon, 06 May 2024 22:28:50 GMT</pubDate>
            <description><![CDATA[Джерело - link Маючи понад 40 000 розгорнутих підграфів та більше тисячі підграфів, опублікованих в мережі The Graph, The Graph зарекомендував себе як найважливіший постачальник децентралізованих даних для web3. Магія The Graph обертається навколо підграфів: стандартизований рецепт ETLQ (Extract-Transform-Load-Query) для блокчейн-даних, які, будучи опублікованими в мережі The Graph і проіндексованими індексаторами, дозволяють користувачам запитувати попередньо змодельовані дані за допомогою G...]]></description>
            <content:encoded><![CDATA[<p>Джерело - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/subgrounds-data-analytics/">link</a></p><p>Маючи понад 40 000 розгорнутих підграфів та більше тисячі підграфів, опублікованих в мережі The Graph, The Graph зарекомендував себе як найважливіший постачальник децентралізованих даних для web3. Магія The Graph обертається навколо підграфів: стандартизований рецепт ETLQ (Extract-Transform-Load-Query) для блокчейн-даних, які, будучи опублікованими в мережі The Graph і проіндексованими індексаторами, дозволяють користувачам запитувати попередньо змодельовані дані за допомогою GraphQL API. Від панелі аналітики Uniswap до DefiLlama, незліченна кількість децентралізованих додатків у web3 використовують The Graph та підграфи для надійного та ефективного отримання даних.</p><p>Однак факт залишається фактом - підграфи та великий обсяг даних, який вони надають, були розроблені для споживання в першу чергу фронтенд-додатками, а тому не є оптимальними для типового випадку використання для аналізу даних. У цій статті ми розповімо про те, як ми в Playgrounds Analytics розкриваємо потенціал The Graph для різноманітних випадків використання для аналізу даних. Більшість методів, розглянутих у цій статті, реалізовані в нашій бібліотеці <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/0xPlaygrounds/subgrounds">Subgrounds</a> з відкритим вихідним кодом Python, але я спробую зберегти агностичний підхід до її реалізації.</p><p><strong>Використання інтроспекції Schema</strong></p><p>Однією з найбільших переваг GraphQL порівняно з іншими стандартами API, такими як REST, є вбудована можливість інтроспекції (тобто запит структури самого API) в GraphQL.</p><p>Це означає, що ви можете не тільки запитувати дані з GraphQL API, але й запитувати метадані про API, такі як список всіх об’єктів, доступних на підграфі, або список параметрів фільтрування, які можна використовувати в запиті.</p><p>Наприклад, щоб отримати список усіх типів, визначених для даного API GraphQL, а також їхніх полів (якщо цей тип є об&apos;єктом, тобто типом entity), ви можете зробити запит до метаполя __schema таким чином:</p><pre data-type="codeBlock" text="query {
  __schema {
    types {
      name
      kind
      fields {
        name
      }
    }
  }
}
"><code><span class="hljs-keyword">query</span> <span class="hljs-punctuation">{</span>
  __schema <span class="hljs-punctuation">{</span>
    types <span class="hljs-punctuation">{</span>
      name
      kind
      fields <span class="hljs-punctuation">{</span>
        name
      <span class="hljs-punctuation">}</span>
    <span class="hljs-punctuation">}</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>Виконання цього запиту на офіційному <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3">підграфі Uniswap V3</a> поверне наступні метадані (примітка: нижче показані тільки метадані для типу UniswapDayData для стислості).</p><pre data-type="codeBlock" text="{
  &quot;data&quot;: {
    &quot;__schema&quot;: {
      &quot;types&quot;: [
        // …
        {
          &quot;name&quot;: &quot;UniswapDayData&quot;,
          &quot;kind&quot;: &quot;OBJECT&quot;,
          &quot;fields&quot;: [
            {
              &quot;name&quot;: &quot;id&quot;
            },
            {
              &quot;name&quot;: &quot;date&quot;
            },
            {
              &quot;name&quot;: &quot;volumeETH&quot;
            },
            {
              &quot;name&quot;: &quot;volumeUSD&quot;
            },
            {
              &quot;name&quot;: &quot;volumeUSDUntracked&quot;
            },
            {
              &quot;name&quot;: &quot;feesUSD&quot;
            },
            {
              &quot;name&quot;: &quot;txCount&quot;
            },
            {
              &quot;name&quot;: &quot;tvlUSD&quot;
            }
          ]
        }
      ]
    }
  }
}
"><code><span class="hljs-punctuation">{</span>
  <span class="hljs-attr">"data"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">"__schema"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">"types"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
        <span class="hljs-comment">// …</span>
        <span class="hljs-punctuation">{</span>
          <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"UniswapDayData"</span><span class="hljs-punctuation">,</span>
          <span class="hljs-attr">"kind"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"OBJECT"</span><span class="hljs-punctuation">,</span>
          <span class="hljs-attr">"fields"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"id"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"date"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"volumeETH"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"volumeUSD"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"volumeUSDUntracked"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"feesUSD"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"txCount"</span>
            <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span>
            <span class="hljs-punctuation">{</span>
              <span class="hljs-attr">"name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"tvlUSD"</span>
            <span class="hljs-punctuation">}</span>
          <span class="hljs-punctuation">]</span>
        <span class="hljs-punctuation">}</span>
      <span class="hljs-punctuation">]</span>
    <span class="hljs-punctuation">}</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
</code></pre><p>Повний запит інтроспекції, який отримує всі метадані API GraphQL, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/0xPlaygrounds/subgrounds/blob/main/subgrounds/client.py">ви можете знайти тут</a>. (примітка: цей самий запит інтроспекції працює для всіх GraphQL API, а не тільки для підграфів!).</p><p>Інтроспекція GraphQL API відкриває багато корисних можливостей для аналізу даних, але ми зосередимося на двох з них і на тому, як Subgrounds їх реалізує, а саме на автоматичному створенні запитів і перевірці/конверсації типів.</p><p><strong>Автоматичне створення запитів</strong></p><p>У той час як розробник, який пише фронтенд-додаток на основі підграфів, вже знає, які дані і запити йому потрібні для досягнення своєї мети, для аналітика даних все по іншому. Він повинен спочатку дослідити дані, щоб проаналізувати їх. Найкращий спосіб досягти цього - витягнути якомога більше даних у потрібне середовище для обробки і використовувати його для дослідження даних.</p><p>Цей процес спрощується за допомогою інтроспекції shema, оскільки можна програмно заповнити вибірку GraphQL усіма доступними підполями. Наприклад, повертаючись до підграфа Uniswap V3, враховуючи перший неповний запит на <em>uniswapDayDatas</em> нижче, ми можемо використати результат нашого запиту інтроспекції вище, щоб вибрати всі підполя поля верхнього рівня <em>uniswapDayDatas</em>, таким чином запитуючи всі доступні дані, пов&apos;язані з цим типом entity.</p><pre data-type="codeBlock" text="query {
  uniswapDayDatas {
    id
    date
    volumeETH
    volumeUSD
    volumeUSDUntracked
    feesUSD
    txCount
    tvlUSD
  }
}
"><code>query {
  uniswapDayDatas {
    <span class="hljs-built_in">id</span>
    <span class="hljs-built_in">date</span>
    volumeETH
    volumeUSD
    volumeUSDUntracked
    feesUSD
    txCount
    tvlUSD
  }
}
</code></pre><p>Це аналогічно запиту <em>SQL SELECT * FROM uniswapDayDatas</em>.</p><p><strong>Конвертація типів</strong></p><p>Інтроспекція GraphQL також дозволяє нам виконувати розумну конвертацію типів, що особливо корисно, коли ми маємо справу з великими числами.</p><p>Багато активів web3, таких як токени ERC-20, часто діляться на дуже велику кількість десяткових знаків (найчастіше 18 десяткових знаків), що призводить до транзакцій, які містять дуже великі числа, які не можуть бути представлені звичайним 32-бітним цілим числом. Підграфи представляють ці великі числа за допомогою типів BigInt і BigDecimal, які відрізняються від стандартних типів <em>Int</em> і <em>Float</em> тим, що значення подаються у вигляді рядків при запиті через GraphQL.</p><p>Використовуючи інтроспекцію GraphQL, можна визначити, які рядки в  відповіді на запит даних насправді є числовими значеннями (і, отже, повинні бути конвертовані на відповідний тип на стороні клієнта), а які рядки є &quot;справжніми&quot; рядками.</p><p><strong>Автоматична пагінація</strong></p><p>Основною проблемою для аналітиків даних, які працюють з підграфами, є запит великих обсягів даних для побудови змістовного аналізу. Причиною цього є те, що підграфи дозволяють розробникам запитувати лише 1000 об’єктів (тобто рядків) за один запит. Для більшості фронтенд-додатків, де ви рідко відображатимете більше кількох на сторінці, це не є проблемою. Однак, щоб виконати належний аналіз даних, вам часто потрібно набагато більше даних, а це означає, що пагінація необхідна.</p><p>Найкращий спосіб пагінації всіх об&apos;єктів у певній колекції, як зазначено в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/querying/graphql-api/#pagination">документації</a> The Graph, це використовувати унікальне поле (зазвичай <em>id</em> об&apos;єкта) як курсор і збільшувати цей курсор для отримання кожної наступної порції даних.  Ось як може виглядати цей процес:</p><p>1.    Напишіть запит з фільтром на вашому унікальному полі, щоб кількість сутностей для запиту і значення фільтра можна було встановити як змінні. Переконайтеся, що порядок і напрямок впорядкування відповідають вашому фільтру (за замовчуванням об’єкти впорядковуються за <em>id</em> у зростаючому порядку, тому ми використовуємо фільтр <em>id_gt</em>).</p><p>2.    Виконайте перший запит зі значенням фільтра, встановленим на найменше можливе значення (наприклад: <em>0</em> для рядкового поля, такого як <em>id</em>).</p><p>3.    Візьміть найбільший <em>id</em> у даних відповіді і використовуйте його як значення фільтра для наступного запиту.</p><p>4.    Повторіть кроки 2 і 3, постійно оновлюючи значення фільтра, доки або не буде повернуто жодних даних, або ви не отримаєте достатню кількість об’єктів для ваших потреб.</p><p>У документації The Graph добре пояснюється, як здійснювати пагінацію великих обсягів даних, але там не пояснено, як реалізувати алгоритм пагінації.</p><p><strong>Ось можлива реалізація методу пагінації  на Python:</strong></p><pre data-type="codeBlock" text="import requests

# The GraphQL query string, we are querying Token entities
# along with their id and symbol
query_str = &quot;&quot;&quot;
query($lastID: String, $numEntities: Int) {
  tokens(first: $numEntities, where: { id_gt: $lastID }) {
    id
    symbol
  }
}
&quot;&quot;&quot;
# The total number of entities we want to query
total_entities = 10_000

# Where we will accumulate the data
data = {&quot;tokens&quot;: []}

# Initial value of the lastID variable
id_cursor = &quot;0&quot;

while len(data) &lt; total_entities:
    # Query the subgraph
    response = requests.post(
        url=&quot;https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3&quot;,
        json={
            &quot;query&quot;: query_str,
            &quot;variables&quot;: {
                &quot;lastID&quot;: id_cursor,
                &quot;numEntities&quot;: min(1000, total_entities - len(data))
            }
        }
    )
    new_data = response.json()

    # Stop paginating if no data is returned (i.e.: we have queried
    # all entities in the collection)
    if len(new_data[&quot;data&quot;][&quot;tokens&quot;]) == 0:
        break

    # Store new data
    data[&quot;tokens&quot;] += new_data[&quot;data&quot;][&quot;tokens&quot;]

    # Update id cursor to get next page
    id_cursor = new_data[&quot;data&quot;][&quot;tokens&quot;][-1][&quot;id&quot;]
"><code>import requests

<span class="hljs-comment"># The GraphQL query string, we are querying Token entities</span>
<span class="hljs-comment"># along with their id and symbol</span>
<span class="hljs-attr">query_str</span> = <span class="hljs-string">"""
query($lastID: String, $numEntities: Int) {
  tokens(first: $numEntities, where: { id_gt: $lastID }) {
    id
    symbol
  }
}
"""</span>
<span class="hljs-comment"># The total number of entities we want to query</span>
<span class="hljs-attr">total_entities</span> = <span class="hljs-number">10_000</span>

<span class="hljs-comment"># Where we will accumulate the data</span>
<span class="hljs-attr">data</span> = {<span class="hljs-string">"tokens"</span>: []}

<span class="hljs-comment"># Initial value of the lastID variable</span>
<span class="hljs-attr">id_cursor</span> = <span class="hljs-string">"0"</span>

while len(data) &#x3C; total_entities:
    <span class="hljs-comment"># Query the subgraph</span>
    <span class="hljs-attr">response</span> = requests.post(
        <span class="hljs-attr">url</span>=<span class="hljs-string">"https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3"</span>,
        <span class="hljs-attr">json</span>={
            "query": query_str,
            "variables": {
                "lastID": id_cursor,
                "numEntities": min(1000, total_entities - len(data))
            }
        }
    )
    <span class="hljs-attr">new_data</span> = response.json()

    <span class="hljs-comment"># Stop paginating if no data is returned (i.e.: we have queried</span>
    <span class="hljs-comment"># all entities in the collection)</span>
    if len(new_data<span class="hljs-section">["data"]</span><span class="hljs-section">["tokens"]</span>) == 0:
        break

    <span class="hljs-comment"># Store new data</span>
    data<span class="hljs-section">["tokens"]</span> += new_data<span class="hljs-section">["data"]</span><span class="hljs-section">["tokens"]</span>

    <span class="hljs-comment"># Update id cursor to get next page</span>
    <span class="hljs-attr">id_cursor</span> = new_data[<span class="hljs-string">"data"</span>][<span class="hljs-string">"tokens"</span>][-<span class="hljs-number">1</span>][<span class="hljs-string">"id"</span>]
</code></pre><p><strong>Зведення даних</strong></p><p>Коли справа доходить до аналізу даних, рекомендованим способом організації даних часто (якщо не завжди) є таблиці. Таблиці, на відміну від даних JSON, дозволяють легко виконувати операції над рядками (наприклад, середнє значення, сума, розрахунок) і стовпцями (наприклад, проекції, перетворення).</p><p>Дані, що повертаються при запиті підграфів, представлені у форматі JSON, що полегшує їх аналіз з точки зору розробки інтерфейсу, але ускладнює роботу з ними з точки зору аналізу даних, особливо для даних, що мають багато рівнів розшарування.</p><p>Одним з рішень є зведення даних в одну або декілька таблиць. Однак, зведення даних своєрідне, і не завжди існує чіткий спосіб, як його зробити. Наприклад, розглянемо наступний GraphQL-запит і отримані в результаті дані JSON (з підграфа Uniswap V3):</p><pre data-type="codeBlock" text="query {
  pools(
    first: 10,
    orderBy: volumeUSD,
    orderDirection: desc
  ) {
    id
    token0 {
      id
      symbol
    }
    token1 {
      id
      symbol
    }
    poolDayData(
      first: 7,
      orderBy: date,
      orderDirection: desc
    ) {
      date
      volumeUSD
      token0Price
      token1Price
    }
  }
}
"><code><span class="hljs-selector-tag">query</span> {
  <span class="hljs-selector-tag">pools</span>(
    <span class="hljs-attribute">first</span>: <span class="hljs-number">10</span>,
    <span class="hljs-attribute">orderBy</span>: volumeUSD,
    <span class="hljs-attribute">orderDirection</span>: desc
  ) {
    <span class="hljs-selector-tag">id</span>
    <span class="hljs-selector-tag">token0</span> {
      <span class="hljs-selector-tag">id</span>
      <span class="hljs-selector-tag">symbol</span>
    }
    <span class="hljs-selector-tag">token1</span> {
      <span class="hljs-selector-tag">id</span>
      <span class="hljs-selector-tag">symbol</span>
    }
    <span class="hljs-selector-tag">poolDayData</span>(
      <span class="hljs-attribute">first</span>: <span class="hljs-number">7</span>,
      <span class="hljs-attribute">orderBy</span>: date,
      <span class="hljs-attribute">orderDirection</span>: desc
    ) {
      <span class="hljs-selector-tag">date</span>
      <span class="hljs-selector-tag">volumeUSD</span>
      <span class="hljs-selector-tag">token0Price</span>
      <span class="hljs-selector-tag">token1Price</span>
    }
  }
}
</code></pre><p>Вищевказаний запит виводить 10 найбільших за обсягом пулів ліквідності, інформацію про токени пулів, а також тижневі дані про ціни та обсяги для кожного пулу. Дані у відповіді не лише мають багато рівнів розшарування, але й містять розшарований список. Існує два способи зведення даних:</p><p>1. Створити дві таблиці, одну для пулів і одну для щоденних датапоінтів, причому остання повинна містити додатковий стовпчик з ID пулу.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ee8afca7098f1d73b215751d628403309c176a5ceae25c2832a06877bae6fa34.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/4f62bafb37dfa3d7696c14e0f5f25dbf2a124afa3de7e882dde7d9c43f9008bb.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>2. &quot;JOIN&quot; два списки в одну таблицю, щоб ті самі дані пулу повторювалися для кожної щоденного датапоінту.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c1155a007b539a5b2a1f35139e65b7ea9e1b9964294872c28d8aea16987638e8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Незалежно від того, який метод вирівнювання використовується, такі дані набагато зручніше аналізувати, ніж їхні “raw” JSON-аналоги.</p><p><strong>Subgrounds</strong>: <strong>Поєднання цього всього разом</strong></p><p>Всі описані вище методи використовуються бібліотекою Subgrounds/Playgrounds  з відкритим вихідним кодом Python, які призначені для розкриття можливостей підграфів для аналітиків даних. Ось приклад Subgrounds, який витягує всі пули (і всі їхні поля) з підграфа Uniswap V3 і скидає все це у pandas dataframe (примітка: на момент написання статті на підграфі було близько ~14 000 пулів, тому встановлення <em>first</em> на 15 тисяч дозволить отримати всі пули):</p><pre data-type="codeBlock" text="from subgrounds import Subgrounds

sg = Subgrounds()
uniswap_v3 = sg.load_subgraph(
    &quot;https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3&quot;
)

sg.query_df([
    uniswap_v3.Query.pools(first=15_000)
])
"><code><span class="hljs-keyword">from</span> subgrounds <span class="hljs-keyword">import</span> <span class="hljs-title">Subgrounds</span>

<span class="hljs-title">sg</span> <span class="hljs-operator">=</span> <span class="hljs-title">Subgrounds</span>()
<span class="hljs-title">uniswap_v3</span> <span class="hljs-operator">=</span> <span class="hljs-title">sg</span>.<span class="hljs-title">load_subgraph</span>(
    <span class="hljs-string">"https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3"</span>
)

<span class="hljs-title">sg</span>.<span class="hljs-title">query_df</span>([
    <span class="hljs-title">uniswap_v3</span>.<span class="hljs-title">Query</span>.<span class="hljs-title">pools</span>(<span class="hljs-title">first</span><span class="hljs-operator">=</span>15<span class="hljs-title">_000</span>)
])
</code></pre><p>Ось скріншот отриманого dataframe:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/25487634091a86c9b115dab1f14e2b1699f04916190ae2a9d417d16fed51ab02.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Цей 10-рядковий фрагмент коду використовує інтроспекцію schema GraphQL для автоматичного вибору всіх підполів поля верхнього рівня <em>pools</em>, автоматичну пагінацію для отримання до 15 000 рядків даних, зведення JSON для перетворення результату в зручну таблицю і конвертацію типів, щоб переконатися, що поля BigInt і BigDecimal в кінцевому підсумку будуть числовими значеннями в нашому dataframe. Тепер, коли всі дані завантажені у ваше середовище Python, прийшов час розпочати справжню роботу: аналіз!</p><p><strong>Висновок</strong></p><p>У цьому пості ми розглянули різні методи для покращення досвіду розробників у використанні The Graph та підграфів як джерел даних для аналізу великих обсягів даних. Ми побачили, як Subgrounds використовує ці методи, щоб забезпечити простий спосіб запитувати дані в The Graph і готувати їх для аналізу. Це демонструє ефективність The Graph як базового рівня інфраструктури даних web3, здатного забезпечити роботу більше ніж просто децентралізованим додаткам.</p><p>Щоб дізнатися більше про Subgrounds і Playgrounds в цілому, зайдіть на наш <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://playgrounds.network/">веб-сайт</a> і приєднуйтесь до нашого <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/A33kayu5Ax">Discord</a>, щоб поговорити про все, що стосується The Graph і даних web3!</p><hr><p><strong>Можливість долучитися до The Graph Builders Blog</strong></p><p>Як децентралізований проект, ми щиро віримо, що обмін знаннями має вирішальне значення для зростання і розвитку всієї екосистеми. Блог The Graph Builders - це платформа для розробників і тих, хто працює з екосистемою The Graph, де вони можуть ділитися своїми ідеями, досвідом і практикою, пов&apos;язаними зі створенням децентралізованих додатків за допомогою The Graph.</p><p>Беручи участь у блозі The Graph Builders Blog, ви матимете можливість продемонструвати свій досвід, поділитися розв&apos;язанням певних проблем та отримати доступ до спільноти розробників-однодумців. Ми впевнені, що ваші ідеї надихатимуть і навчатимуть інших, а також внесуть свій вклад у повністю децентралізоване майбутнє.</p><p><strong>Переваги авторства у блозі The Graph Builders Blog</strong></p><ul><li><p>Після того, як редактори The Graph затвердять ваш блог, ви будете представлені на сайті The Graph, який має охоплення  в понад сотні тисяч читачів, з зазначенням вас як автора блогу;</p></li><li><p>Ми виділимо та позначимо вас у соціальних мережах, включаючи Twitter з  майже 300 тис. підписників;</p></li><li><p>Ви отримаєте POAP “The Graph Builders Blog Author”;</p></li><li><p>Ви зможете додати, що ви є автором блогу The Graph Builders Blog до свого LinkedIn та резюме.</p></li></ul><p><strong>Щоб подати заявку на участь у блозі The Graph Builders Blog</strong>, заповніть цю <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://notionforms.io/forms/the-graph-dev-blog">форму</a>, і ми зв&apos;яжемося з вами.</p><hr><p><strong>Про The Graph</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> - це складова індексації та запитів у web3. Розробники створюють та публікують відкриті API, так звані підграфи, до яких додатки можуть звертатися за допомогою GraphQL. Наразі Graph підтримує індексацію даних з понад 40 різних мереж, включаючи Ethereum, NEAR, Arbitrum, Optimism, ZkSync, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, Cosmos Hub та PoA, а незабаром буде додано ще більше мереж. На сьогодні на хостинговому сервісі розгорнуто понад 88900 <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">підграфів</a>. Десятки тисяч розробників використовують The Graph для таких додатків, як Uniswap, Synthetix, KnownOrigin, Art Blocks, Gnosis, Balancer, Livepeer, DAOstack, Audius, Decentraland та багатьох інших.</p><p>Сервіс самообслуговування для розробників The Graph Network був запущений у липні 2021 року; з того часу понад 800+ підграфів мігрували до Мережі, а 450+ індексаторів обслуговують запити до підграфів, 11 300+ делегатів та 2 500+ кураторів на сьогодні.Нині було використано понад 5,6 мільйона токенів GRT для подачі сигналів. Якщо ви розробник, який створює додаток або  програму у web3, ви можете використовувати підграфи для індексації та запитів даних з блокчейнів. <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a> дозволяє додаткам ефективно і продуктивно представляти дані в інтерфейсі користувача і дозволяє іншим розробникам також використовувати ваш підграф! Ви можете <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/quick-start">розгорнути підграф</a> в мережі за допомогою нещодавно запущеної <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/studio/">Subgraph Studio</a> або запитувати наявні підграфи, які знаходяться в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/explorer/">Graph Explorer</a>. The Graph буде радий вітати вас як <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/over-two-hundred-testnet-nodes/">Індексаторів</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/curator-program-launch/">Кураторів</a> та/або <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/network#delegating">Делегатів </a>в основній мережі The Graph. Приєднуйтесь до спільноти The Graph, представивши себе в The Graph <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://discord.com/invite/vtvv7FP">Discord </a>для технічних обговорень, приєднуйтесь до чату The Graph в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://t.me/GraphProtocol">Telegram</a>, а також слідкуйте за The Graph у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphprotocol?s=20">Twitter</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.linkedin.com/company/thegraph/">LinkedIn</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.instagram.com/graphprotocol/?hl=en">Instagram</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.facebook.com/TheGraphProtocol">Facebook</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.reddit.com/r/thegraph/">Reddit </a>та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/graphprotocol">Medium</a>! Розробники та члени спільноти The Graph завжди раді поспілкуватися з вами, а екосистема The Graph має зростаючу спільноту розробників, які підтримують один одного.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/announcing-the-graph-foundation/">The Graph Foundation</a> контролює The Graph Network. The Graph Foundation контролюється <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/inaugurating-council-and-grants/">Technical Council</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.com/">Edge &amp; Node</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://streamingfast.io/">StreamingFast</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.semiotic.ai/">Semiotic Labs</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://the-guild.dev/">The Guild</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/">Messari</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://graphops.xyz/">GraphOps</a> - це лише кілька з основних організацій, що входять в екосистему The Graph.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/48664066a37c84ae374e79f0e13074fc2d82b567a574f6d295c89b7b10531c88.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph Builders Newsletter #8]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-8</link>
            <guid>EBIRobocLSnKHtVjg1aQ</guid>
            <pubDate>Mon, 06 May 2024 22:23:00 GMT</pubDate>
            <description><![CDATA[Source - link gm web3 builders! Дякуємо, що відкрили Інформаційний бюлетень The Graph Builders #8, де ми ділимося важливими для розробників новинами та оновленнями, що стосуються екосистеми The Graph 🏗️ Ми цінуємо вас!🏗️ Підписатися на Інформаційний бюлетень The Graph Builders 🏗️ Теми на серпень 2023 рокуВипущено L2 Transfer Tools!Випущено graph-node 0.32.0!Файлові джерела даних генерують інші файлові джерела данихНові можливості в Subgraph StudioФайлові джерела даних ArweaveОбробники опит...]]></description>
            <content:encoded><![CDATA[<p>Source - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/">link</a></p><p><strong>gm web3 builders!</strong></p><p>Дякуємо, що відкрили Інформаційний бюлетень The Graph Builders #8, де ми ділимося важливими для розробників новинами та оновленнями, що стосуються екосистеми The Graph 🏗️</p><p>Ми цінуємо вас!</p><hr><p>🏗️ <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH"><strong>Підписатися</strong></a><strong> на Інформаційний бюлетень The Graph Builders 🏗️</strong></p><p><strong>Теми на серпень 2023 року</strong></p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#l2-transfer-tools-released">Випущено L2 Transfer Tools</a>!</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#graph-node-0-32-released">Випущено graph-node 0.32.0</a>!</p></li><li><p>Файлові джерела даних генерують інші файлові джерела даних</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#try-upcoming-graph-node-features-in-subgraph-studio">Нові можливості в Subgraph Studio</a></p></li><li><p>Файлові джерела даних Arweave</p></li><li><p>Обробники опитувань</p></li><li><p>Обробник ініціалізації</p></li><li><p>Робота scroll-testnet в режимі реального часу</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#devs-on-the-graph-dapp-looker">Devs On The Graph - DappLooker</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#upcoming-workshops">Майбутні воркшопи</a></p></li><li><p>Розклад роботи The Graph Builders</p></li><li><p>Вступ до Full Stack розробки</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-8/#want-to-participate-in-the-graph-ecosystem">Беріть участь у роботі екосистеми The Graph </a></p></li><li><p>Приєднуйтесь до The Graph BuildersDAO</p></li><li><p>Спробуйте бета-версію The Graph Billing Subscription</p></li></ul><hr><p>🔼 <strong>Випущено L2 Transfer Tools</strong> 🔼</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cc431808a396997a82f468e0c71b5bfeff6f618cb043c49b8847f5645cfbd0f7.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>L2 Transfer Tools вже є</strong>!</p><p>Це важливий етап, який знаменує початок фінальної фази масштабування The Graph за допомогою Arbitrum. Дізнайтеся більше про цей етап <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/">тут</a>.</p><p><strong>Чим саме є ці  інструменти перенесення?</strong></p><p>L2 Transfer Tools дозволяють всім учасникам мережі легко переносити з основної мережі Ethereum на Arbitrum.</p><p>Маєте підграф в мережі The Graph? Використовуйте <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/arbitrum/l2-transfer-tools-faq/#how-do-i-transfer-my-subgraph"><strong>Subgraph Transfer Too</strong></a><strong>l</strong>, <strong>щоб перенести його на Arbitrum!</strong></p><p><strong>Кураторство, делегування, стейк індексатора і багато іншого</strong> також можуть бути перенесені за допомогою <strong>L2 Transfer Tools</strong>.</p><p><strong>Перегляньте документацію та покрокові відео, щоб розпочати перехід з L1 на L2:</strong></p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/arbitrum/l2-transfer-tools-guide/">L2 Transfer Tools Guide</a> та <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/docs/en/arbitrum/l2-transfer-tools-faq/">L2 Transfer Tools FAQs</a></p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/playlist?list=PLTqyKgxaGF3RWjejFs3vvgZo1J8p4TGRX">L2 Transfer Tool Video Walkthroughs</a></p></li></ul><p>⏫ <strong>Випущено версію graph-node 0.32</strong>! ⏫</p><p><strong>Оновіть graph-node до версії 0.32.0</strong> і перевірте всі нові можливості, перелічені у <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/graphprotocol/graph-node/releases/tag/v0.32.0">списку змін</a> (їх там купа!).</p><p>Однією з важливих особливостей цього релізу є те, що файлові джерела даних можуть породжувати інші файлові джерела даних…</p><p><strong>Одні файлові джерела даних можуть генерувати інші файлові джерела даних</strong></p><p>Раніше тільки обробник блокчейну міг генерувати шаблон файлового джерела  даних. Але частіше IPFS-файли посилаються на інші IPFS-файли, які ми також хочемо проіндексувати! Для того, щоб підтримати цю можливість, обробники даних файлу тепер також можуть створювати шаблон файлового джерела даних.</p><p>Як ми бачимо, він має схему з іншим IPFS/Qm..., який ми також хотіли б проіндексувати. Тепер ми можемо це зробити, зібравши Qm... з IPFS-файлу і активувавши інше файлове джерело даних з обробника джерела файлових даних! 🤯</p><pre data-type="codeBlock" text="import { NewFileDataSource as NewFileDataSourceTemplate } from &quot; ../types/templates&quot;;

export function fileDataSourceHandler(content: Bytes): void {
  if (content !== null) {
    let manifest = content.toString();

    let schemaSplitTry = manifest.split(&quot; schema: In&quot;, 2);
    if (schemaSplitTry.length == 2) {
      let schemaFileSplitTry = schemaSplitTry[1].split(&quot;/ipfs/&quot;, 2);
      if (schemaFileSplitTry.length == 2) {
        let schemaIpfsHashTry = schemaFileSplitTry11.split(&quot;In&quot;, 2);
        if (schemaIpfsHashTry.length == 2) {
          let schemaIpfsHash = schemaIpfsHashTry[0];
          NewFileDataSourceTemplate.create(schemaIpfsHash);
        }
      }
    }
  }
}
"><code><span class="hljs-keyword">import</span> { <span class="hljs-title">NewFileDataSource</span> <span class="hljs-title"><span class="hljs-keyword">as</span></span> <span class="hljs-title">NewFileDataSourceTemplate</span> } <span class="hljs-title"><span class="hljs-keyword">from</span></span> <span class="hljs-string">" ../types/templates"</span>;

export <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">fileDataSourceHandler</span>(<span class="hljs-params">content: Bytes</span>): <span class="hljs-title">void</span> </span>{
  <span class="hljs-keyword">if</span> (content <span class="hljs-operator">!</span><span class="hljs-operator">=</span><span class="hljs-operator">=</span> null) {
    let manifest <span class="hljs-operator">=</span> content.toString();

    let schemaSplitTry <span class="hljs-operator">=</span> manifest.split(<span class="hljs-string">" schema: In"</span>, <span class="hljs-number">2</span>);
    <span class="hljs-keyword">if</span> (schemaSplitTry.<span class="hljs-built_in">length</span> <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">2</span>) {
      let schemaFileSplitTry <span class="hljs-operator">=</span> schemaSplitTry[<span class="hljs-number">1</span>].split(<span class="hljs-string">"/ipfs/"</span>, <span class="hljs-number">2</span>);
      <span class="hljs-keyword">if</span> (schemaFileSplitTry.<span class="hljs-built_in">length</span> <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">2</span>) {
        let schemaIpfsHashTry <span class="hljs-operator">=</span> schemaFileSplitTry11.split(<span class="hljs-string">"In"</span>, <span class="hljs-number">2</span>);
        <span class="hljs-keyword">if</span> (schemaIpfsHashTry.<span class="hljs-built_in">length</span> <span class="hljs-operator">=</span><span class="hljs-operator">=</span> <span class="hljs-number">2</span>) {
          let schemaIpfsHash <span class="hljs-operator">=</span> schemaIpfsHashTry[<span class="hljs-number">0</span>];
          NewFileDataSourceTemplate.create(schemaIpfsHash);
        }
      }
    }
  }
}
</code></pre><p><strong>👀 Спробуйте майбутні функції graph-node  у Subgraph Studio 👀</strong></p><p><strong>Ці функції доступні для випробування у Subgraph Studio і незабаром будуть доступні у 🧑‍🚀мережі The Graph 🧑‍🚀</strong></p><p><strong>Файлові джерела даних Arweave</strong></p><p>Arweave тепер є ще одним файловим джерелом офчейн , яке ми можемо інтегрувати з нашими підграфами (IPFS також підтримується)! Ознайомтеся з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/mangas/lens-protocol-posts-sg/blob/main/subgraph.yaml">прикладом репозиторію файлових джерел даних</a>, який індексує як Arweave, так і IPFS, і починайте працювати🔥 🔥 🔥 🔥</p><p><strong>Обробники блоків опитувань</strong></p><p>Ця майбутня функція дозволить підграфу виконувати обробник через певні інтервали блоків, визначені числом у кожному полі:</p><pre data-type="codeBlock" text="blockHandlers:
  - handler: handleBlock
    filter:
      kind: polling
      every: 10
"><code><span class="hljs-attr">blockHandlers:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">handler:</span> <span class="hljs-string">handleBlock</span>
    <span class="hljs-attr">filter:</span>
      <span class="hljs-attr">kind:</span> <span class="hljs-string">polling</span>
      <span class="hljs-attr">every:</span> <span class="hljs-number">10</span>
</code></pre><p><strong>Обробник ініціалізації</strong></p><p>Ця майбутня функція дозволить підграфу виконувати обробник під час його ініціалізації, що зробить його цінним інструментом для виконання таких завдань, як встановлення початкових параметрів або попереднє завантаження певних даних:</p><pre data-type="codeBlock" text="blockHandlers:
  - handler: handleOnce
    filter:
      kind: once
"><code><span class="hljs-attr">blockHandlers:</span>
  <span class="hljs-bullet">-</span> <span class="hljs-attr">handler:</span> <span class="hljs-string">handleOnce</span>
    <span class="hljs-attr">filter:</span>
      <span class="hljs-attr">kind:</span> <span class="hljs-string">once</span>
</code></pre><p><strong>scroll-sepolia. Додано чейн до тестнету</strong></p><p>📜 Тестнет Sepolia від <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://scroll.io/">Scroll</a> тепер доступний у Subgraph Studio. Слідкуйте за оновленнями разом зі Scroll!</p><hr><p>👁️ <strong>Devs On The Graph - DappLooker</strong> 👁️</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/e9ffc38a20a8b0289c737a7c840cb1b17212fb5365ccd9979b13dfc5a1c6aa3f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>У <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://youtu.be/02xE_p2aoG4">третьому епізоді Devs On The Graph з Abhay Singh</a>, CoFounder <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/dapplooker">DappLooker</a>, ми занурюємося в передісторію того, як він прийшов у web3. Також у ньому є live воркшоп про створення власних аналітичних інформаційних панелей без коду, які побудовані на основі інфраструктури The Graph.</p><p>Ці інформаційні панелі можуть бути легко інтегровані в наші децентралізовані додатки, надаючи більшу цінність та міць тим, хто бажає мати легкодоступні та узгоджені дані з web3.</p><p><strong>Devs On The Graph</strong> - це серія інтерв&apos;ю, в яких розробники діляться своїми історіями та методами розробки за допомогою технології The Graph. Кожен епізод містить воркшоп з кодування в кінці, тож зберігайте собі і навчайтесь! 🏫</p><p><strong>Майбутні воркшопи</strong></p><p>👷‍♀️<strong>The Graph Builders Office Hours - щочетверга о 15:00 UTC</strong>👷</p><p>Приєднуйтесь  щочетверга о 15:00 <strong>UTC</strong> до <strong>The Graph Builders Office Hours,</strong> яке проводить Developer Relations Engineer Edge &amp; Node Kevin Jones на  Discord The Graph. Кожна сесія включає в себе живі майстер-класи та обговорення з розробниками, які працюють в екосистемі The Graph Ecosystem, у формі запитань та відповідей.</p><p><strong>Нижче наведений перелік  воркшопів, запланованих на вересень:</strong></p><ul><li><p><strong>14 вересня</strong> - Alex з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.streamingfast.io/">StreamingFast</a>, підграфи на основі підпотоків</p></li><li><p><strong>21 вересня</strong> - Kent Fourie з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.graphrica.org/">Graphrica</a></p></li><li><p><strong>28 вересня</strong> - Dylan Melotik, Огляд <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://messari.io/web3-data-collaboration">підграфів від Messari</a></p></li></ul><p><strong>Перегляньте воркшопи минулого місяця!</strong></p><ul><li><p>Почніть кодувати швидко зі стартовим набором, який використовує The Graph</p></li><li><p>Створіть децентралізований додаток якнайшвидше, використовуючи Scaffold-Eth 2 та The Graph</p></li><li><p>Дізнайтеся, наскільки потужними можуть бути підграфи на основі підпотоків</p></li><li><p>Пориньте в аналітику даних з Playgrounds</p></li><li><p>Перенесіть офф-чейн дані в підграфи за допомогою File Data Sources</p></li></ul><p>👷‍♀️ <strong>Воркшоп на тему “Вступ до Full Stack розробки” буде проведено 7 вересня</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/cac48e48f888acfaef5c2ecd5b270c4a1e141865f1111cc6797990247b6f97f2.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>DevRel Engineer з Edge &amp; Node <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/cryptomastery_">Kevin Jones</a> виступить з доповіддю &quot;Вступ до Full Stack розробки децентралізованих додатків&quot; в House of Web3 в Сан-Франциско 7 вересня.</p><p>Реєструйтеся <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.eventbrite.com/e/edge-node-workshop-intro-to-full-stack-dapp-development-tickets-701193477567?aff=oddtdtcreator">тут</a>, щоб бути присутнім особисто!</p><p>Якщо ви не можете відвідати захід, воркшоп буде транслюватися на <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/@houseofweb3/streams">Youtube каналі - House of Web3</a>!</p><p><strong>Хочете брати участь у екосистемі The Graph?</strong></p><p>⚙️ <strong>Створюйте розробки з The Graph BuildersDAO! ⚙️</strong></p><p><strong>Хочете отримувати гроші за створення підграфів та підпотоків разом з іншими розробниками?</strong></p><p>Приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buildersdao.tech/">The Graph BuildersDAO</a>!</p><p><strong>The Graph BuildersDAO - це спільнота розробників, які надають свої послуги зі створення додатків та протоколів.</strong></p><p>Ця спільнота шукає розробників з різним рівнем досвіду роботи зі смарт-контрактами, Rust, фронтенд-фреймворками, DevOps, підграфами та підпотоками, які приєднаються до спільноти та візьмуть участь у різноманітних проектах.</p><p>Крім того, якщо у вас є проект, в роботі над яким потрібна допомога розробника, The Graph BuildersDAO - чудовий ресурс, який допоможе вам створити власний підграф або підпотік! <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphbuilders">Зв&apos;яжіться з нами</a>!</p><p>➕ <strong>Підписуйтесь на бета-версію The Graph Billing Subscriptions</strong>➕</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7d29d614c53362f818ee39dc22d12d60d27e58c6212373a3b8d14de84d1f13d8.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>The Graph Billing Subscriptions</strong> - <em>це альтернатива існуючій системі білінгу за фактом використання The Graph</em> , яка, як ми надіємось, спростить оплату до рівня &quot;встановив і забув&quot;.</p><p>Щоб дізнатися більше, а також підписатися на <strong>бета-версію The Graph Subscriptions</strong>, перейдіть за цим <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://edgeandnode.notion.site/The-Graph-Subscriptions-Beta-Program-User-Onboarding-Docs-f1c6b1fb9f2646eeb1bd2ae9bdf242f5">посиланням</a>.</p><hr><p><strong>Опитування для розробників</strong></p><p><strong>Наскільки ймовірно, що ви б порекомендували децентралізовану мережу The Graph співрозробникам по web3?</strong></p><p><strong>Просто натисніть емодзі, щоб проголосувати</strong></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-very-likely">🙂</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-i-dont-know">😐</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-not-likely">🙁</a></p><hr>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/265397ab289c940179290b1f61a922b0359f804c84398a94ff62858e7a28c122.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph Builders Newsletter #7]]></title>
            <link>https://paragraph.com/@night0x/the-graph-builders-newsletter-7</link>
            <guid>AIQAbuAHreJce9Tov9wB</guid>
            <pubDate>Mon, 06 May 2024 22:13:24 GMT</pubDate>
            <description><![CDATA[Source - link gm devs! Дякуємо, що приєдналися до інформаційного бюлетеню The Graph Builders, де ви щомісяця будете отримувати важливі новини та оновлення для розробників, які стосуються екосистеми The Graph 🙌 Вперед!Теми на липень 2023 рокуВідкриття винагороди за індексування підграфів на основі підпотоківЗапуск Graph BuildersDAOПідписуйтесь на бета-версію The Graph Billing SubscriptionsDevs On The Graph - Spyglass LabsПодії під час заходу Paris Builders🏗️ Підписатися на інформаційний бюле...]]></description>
            <content:encoded><![CDATA[<p>Source - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/builders-newsletter-7/">link</a></p><p><strong>gm devs!</strong></p><p>Дякуємо, що приєдналися до інформаційного бюлетеню <strong>The Graph Builders</strong>, де ви щомісяця будете отримувати важливі новини та оновлення для розробників, які стосуються екосистеми The Graph 🙌</p><p>Вперед!</p><hr><p><strong>Теми на липень 2023 року</strong></p><ul><li><p>Відкриття винагороди за індексування підграфів на основі підпотоків</p></li><li><p>Запуск Graph BuildersDAO</p></li><li><p>Підписуйтесь на бета-версію The Graph Billing Subscriptions</p></li><li><p>Devs On The Graph - Spyglass Labs</p></li><li><p>Події під час заходу Paris Builders</p></li></ul><p>🏗️ <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bdf2eca9.sibforms.com/serve/MUIEANzFMd91i5a6bVwX3WW3neIBPH_UjEa35H0q4oeC5w5AEZizXHCwlH-n9Jp3UJ9fbOHilWpUbkliZpxRWTPoT_40mOhRDto5z6FJ2KcAGVW8XsJXeNHvgA8i1XCd6AOuXFyVcxHvst5W09wqNoKd5L00EfBFuhIklaLZBZYpWuVY5b5yb0OQ_B78VudCEOK67gm-LKaZ4RJH"><strong>Підписатися</strong></a><strong> на інформаційний бюлетень The Graph Builders</strong> 🏗️</p><hr><p>🎉<strong>Відкриття винагороди за індексування підграфів на основі підпотоків</strong> 🎉</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/7380890eda40dddbd4229f7c9a4ee07a99438a78df3a9cb86035aa9ffa3fa0e9.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong><em>Дізнайтеся більше про підграфи на основі підпотоків у нещодавньому </em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/blog/substreams-powered-subgraphs/"><strong><em>блозі</em></strong></a><strong><em> від </em></strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.streamingfast.io/"><strong><em>StreamingFast</em></strong></a><strong><em>.</em></strong></p><p>Синхронізація підграфів на основі підпотоків з локальним сховищем - це чудово, однак це обмежує можливий рівень децентралізації вже проіндексованих даних. Відкривши винагороду за індексування підграфів на основі підпотоків, мережа The Graph ще раз підтверджує своє бачення надання відкритих і децентралізованих даних для всього світу (<em>тепер зі швидкістю індексації до 100 разів вищою, ніж за допомогою підпотоків!</em>)</p><p><strong>Почніть роботу з підграфами на основі підпотоків</strong></p><p>Ще не працювали з підпотоками? Ми вам допоможемо!</p><ul><li><p>Документація по підпотокам від StreamingFast.</p></li><li><p>Воркшоп від Sahra Karakoç з її репозиторієм підпотоків.</p></li><li><p>Приклади репозиторіїв підграфів на основі підпотоків</p></li><li><p>Короткі навчальні відео про підпотоки від Pinax.</p></li></ul><p>🏗️ <strong>Запуск Graph BuildersDAO</strong> 🏗️</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/763a52eb27b7bbc5d72173b15d30acff124885678ae7662b5da1ba20bec291ba.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Бажаєте отримувати оплату за створення підграфів та підпотоків?</p><p>Бажаєте працювати разом з іншими розробниками підграфів та підпотоків?</p><p>Приєднуйтесь до <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://buildersdao.tech/">The Graph BuildersDAO</a>!</p><p>The Graph Builders DAO прагне бути спільнотою співпрацюючих розробників, які надають свої послуги. Спільноті потрібні розробники з різним рівнем досвіду роботи зі смарт-контрактами, Rust, фронтенд-фреймворками, DevOps і, звісно, підграфами та підпотоками.</p><p>Крім того, якщо у вас є проект, в роботі над яким потрібна допомога розробника, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/graphbuilders">зв&apos;яжіться з нами</a>.</p><p>➕ <strong>Підписуйтесь на бета-версію The Graph Billing Subscriptions</strong>➕</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/0880ef71086e92a4a134d5cddffc58581377073fed39614cfdaa98f022ba7705.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Ми раді відкрити доступ до подачі заявок до The Graph Subscriptions, які незабаром стануть загальнодоступними!</p><p><strong>The Graph Billing Subscriptions</strong> - <em>це альтернатива існуючій системі білінгу за фактом використання The Graph</em> , яка, як ми надіємось, спростить оплату до рівня &quot;встановив і забув&quot;.</p><p>Щоб дізнатися більше, а також підписатися на бета-версію The Graph Subscriptions, перейдіть за цим посиланням.</p><p>👁️ <strong>Devs On The Graph - Spyglass Labs</strong> 👁️</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ce2bd25aa4d75c102c1db3a31d4d5e9b1aab80d15bea5c2c468ca6cb7c4d5b81.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.youtube.com/watch?v=HmrTLzXLFUs">У Devs On The Graph - Епізоді 2</a> з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/Blind_nabler">@blind_nabler</a> з <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/SpyglassApp">@SpyglassApp</a>, ми дізнаємось  його передісторію. Також у цьому відео представлений воркшоп з створення підпотоків у live режимі. Сподіваємось, в ньому ви дізнаєтесь щось нове про підпотоки.</p><p><strong>Devs On The Graph</strong> - це серія інтерв&apos;ю, в яких розробники діляться своїми історіями та методами розробки за допомогою технології The Graph. Кожен епізод містить воркшоп з кодування в кінці, тож зберігайте собі і навчайтесь!</p><p>🥐 <strong>Події під час заходу Paris Builders</strong>  🥐</p><ul><li><p>The Graph y Encode Club’s Hacker House - відео з основними моментами</p></li><li><p>Доповіді про перспективи майбутнього на EthCC.</p></li><li><p>Хакатон EthGlobal Paris - 48 годин активності розробників!</p></li></ul><p>Хочемо відзначити двох перших призерів EthGlobal Paris, а також привітати всіх хакерів, які працювали з The Graph!</p><p><strong>Найкращий новий підграф та/або підпотік</strong></p><p><strong>🥇 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/showcase/acid-chains-z45bc"><strong>Acid chains</strong></a><strong> 🥇</strong></p><p>Команда Acid chains отримала перше місце за неймовірне використання підпотоків для аналізу даних мемпула для розв&apos;язання проблем масштабування Ethereum, одночасно сприяючи швидшій, більш якісній та економічно ефективнішій обробці транзакцій.</p><p><strong>Познайомтеся ближче з їх проектом за посиланням вище, щоб дізнатися, що нового підпотоки можуть принести вашому проекту!</strong></p><p><strong>Найкраще використання існуючого підграфа та/або підпотоку</strong></p><p><strong>🥇 </strong><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://ethglobal.com/showcase/delta-v-9ux1c"><strong>Delta V</strong></a><strong> 🥇</strong></p><p>Команда Delta V створила децентралізований додаток, який об&apos;єднав багато підграфів, щоб дати розробникам можливість відстежувати власні адреси смарт-контрактів, об&apos;єднувати джерела даних в єдину точку доступу і налаштовувати сповіщення. Адміністратори можуть використовувати наш продукт для вживання заходів на основі попередньо визначених тригерів на чейні.</p><p><strong>Ознайомтеся з їхнім проектом, щоб побачити, що ви можете створити, використовуючи вже існуючі підграфи!</strong></p><hr><p><strong>Опитування для розробників</strong></p><p><strong>Створення мережі The Graph - це спільна робота, і основні розробники хотіли б почути ваші відгуки!</strong></p><p>Наскільки ймовірно, що ви б порекомендували децентралізовану мережу The Graph співрозробникам по web3? Просто натисніть емодзі, щоб проголосувати.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-very-likely">🙂</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-i-dont-know">😐</a> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://bit.ly/nps-not-likely">🙁</a></p><hr><p><strong>Дякуємо, що прочитали! Ми сподіваємося, що вам сподобалося це дослідження. Ми завжди раді вашим відгукам та пропозиціям, просто напишіть нам на цю електронну адресу. Ми читаємо кожну відповідь 💌</strong></p><p>Щасливого хакінгу!</p><p>Marcus з Edge &amp; Node, працює над The Graph</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/265397ab289c940179290b1f61a922b0359f804c84398a94ff62858e7a28c122.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[The Graph's Core Dev Teams - Епізод 4: Semiotic Labs - Об'єднання штучного інтелекту та блокчейну для децентралізованого майбутнього]]></title>
            <link>https://paragraph.com/@night0x/the-graph-s-core-dev-teams-4-semiotic-labs</link>
            <guid>NEtyDAA3Fdg8gH0j2V2J</guid>
            <pubDate>Mon, 06 May 2024 21:43:32 GMT</pubDate>
            <description><![CDATA[Source - link З поверненням, шановні дослідники всесвіту Web3! Як гордому NPC в екосистемі The Graph, мені приємно знову направляти вас у цій подорожі технологічним світом. Сьогодні ми розпочинаємо подорож туди, де штучний інтелект перетинається з блокчейном, завдяки зусиллям Semiotic Labs та їхній ключовій ролі в екосистемі The Graph.Злиття штучного інтелекту та блокчейну: Симбіотичний танець Поєднання штучного інтелекту і блокчейну на перший погляд може здатися досить незвичним. Однак, коли...]]></description>
            <content:encoded><![CDATA[<p>Source - <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@tiehan.xyz/the-graphs-core-dev-teams-episode-4-semiotic-labs-merging-ai-and-blockchain-for-a-4e2fc957c7e4">link</a></p><p>З поверненням, шановні дослідники всесвіту Web3!</p><p>Як гордому NPC в екосистемі The Graph, мені приємно знову направляти вас у цій подорожі технологічним світом. Сьогодні ми розпочинаємо подорож туди, де штучний інтелект перетинається з блокчейном, завдяки зусиллям <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://semiotic.ai/">Semiotic Labs</a> та їхній ключовій ролі в екосистемі <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://thegraph.com/">The Graph</a>.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/726068b23f919d075f889fa74b5f556981a3f444899d8597cd8816037058e14e.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Злиття штучного інтелекту та блокчейну: Симбіотичний танець</strong></p><p>Поєднання штучного інтелекту і блокчейну на перший погляд може здатися досить незвичним. Однак, коли ми копаємо глибше, ми відкриваємо величезну кількість взаємних переваг. Блокчейн забезпечує прозоре і стале середовище, яке можна використовувати для розвитку більш етичних і відповідальних моделей штучного інтелекту. Водночас штучний інтелект може усунути недоліки блокчейну, підвищити безпеку та отримати практичні висновки з обширних наборів даних, наявних у світі блокчейну.</p><p><strong>Команда засновників Semiotic Labs та їхній досвід</strong></p><p>Команда Semiotic Labs складається з досвідчених дослідників з різних доменів машинного навчання і криптографії. До команди засновників входять Dr. Ahmet Ozcan і Alexis Asseman, які раніше працювали в галузі машинного навчання в IBM Research; Dr. Sam Green, який раніше працював у Sandia National Labs; та Dr. Gokay Saldamli, який спеціалізується на криптографічній інженерії].</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ed78362cd3e2c7f5d345e532aeb789b8d2fc1efd1fc2ef1b7ce7f4040d8b7915.png" alt="Скріншот з виступу Dr. Sam Green в Стенфорді" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Скріншот з виступу Dr. Sam Green в Стенфорді</figcaption></figure><p><strong>Глибоке занурення зі штучним інтелектом: серфінг на хвилі даних</strong></p><p>До того, як приєднатися до The Graph, Semiotic Labs спочатку зосередилися на повністю гомоморфному шифруванні (FHE) - типі шифрування, який дозволяє проводити математичні обчислення з зашифрованими даними, що важливо для забезпечення конфіденційності та безпеки в додатках зі штучним інтелектом. Вони успішно продемонстрували використання FHE в режимі реального часу для додатку, пов&apos;язаного зі здоров&apos;ям: передбачення нормального чи ненормального серцебиття за допомогою зашифрованих даних зі смарт-годинника.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d624db65579f672ed6650ead99c0fb1fd2225e8f9e0bcbafea0ab40ed5f82f73.png" alt="Скріншот з виступу Dr. Sam Green в Стенфорді" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Скріншот з виступу Dr. Sam Green в Стенфорді</figcaption></figure><p><strong>Самофінансування та перехід на криптовалюту</strong></p><p>Вони розпочали роботу у 2020 році. Спочатку компанія працювала на самофінансуванні, розробила свою технологію, але не змогла закріпитися на початкових цільових ринках - фінансово-технологічному та охорони здоров&apos;я. В основному це було пов&apos;язано з нормативними бар&apos;єрами в цих галузях. Приблизно тоді ж команда помітила зростання популярності криптовалюти і ознайомилась з протоколом The Graph, потреби якого перетиналися з їхніми навичками. Згодом вони приєдналися до The Graph, отримавши 8-річний грант на 60 мільйонів доларів.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/f8fc54ce7ee215720fbb11f3d51d00cf64e40c6688b087529898d34c3d39b1c0.png" alt="Скріншот з виступу Dr. Sam Green в Стенфорді" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Скріншот з виступу Dr. Sam Green в Стенфорді</figcaption></figure><p><strong>Роль Semiotic в The Graph</strong></p><p>Хоча Semiotic займається різними дослідженнями і розробками, деякі з їхніх внесків значно покращили The Graph:</p><p><strong>Покращення ціноутворення на запити</strong></p><p>The Graph пропонує ринок для он-чейн даних, і на цьому ринку індексатори хочуть оптимізувати свої ціни, щоб покрити операційні витрати і максимізувати свій прибуток; споживачі хочуть дані за розумною ціною. Semiotic створила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/semiotic-ai/autoagora">AutoAgora</a>, автоматизованого агента ціноутворення, використовуючи методи навчання з підкріпленням. Ці агенти дають змогу індексаторам вигідно оцінювати вхідні запити.</p><p><strong>Платежі, які піддаються перевірці</strong></p><p>Вони розробили <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/semiotic-ai/timeline-aggregation-protocol">Timeline Aggregation Protocol (TAP)</a> - швидку, ефективну та надійну односторонню систему мікроплатежів, що забезпечує високопродуктивні платежів для The Graph. Це дозволяє індексаторам ефективно агрегувати мільйони надходжень.</p><p><strong>Firehose з можливістю перевірки</strong></p><p>Firehose, як згадувалося в <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://medium.com/@tiehan.xyz/the-graphs-core-dev-teams-episode-1-spotlight-on-streamingfast-b3b78805c4f4">першому епізоді цього блогу</a>, - це конвеєр даних, розроблений StreamingFast, який спрощує процес вилучення даних з блокчейну. Він перетворює дані з ноди блокчейну в плоскі файли в режимі реального часу, що сприяє гнучкішій обробці даних. Semiotic намагаються зробити так, щоб плоскі файли піддавались перевірці, додаючи додатковий рівень безпеки для споживачів.</p><p><strong>Алгоритми, які допомагають DeFi трейдерам</strong></p><p>Крім внеску у розробку протоколу The Graph, Semiotic Labs створила <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://odos.xyz/">Odos</a> - інтелектуальне рішення для маршрутизації ордерів, яке оптимізує маршрути обміну між сотнями децентралізованими обмінними платформами і тисячами пулів ліквідності. У ньому реалізована можливість багатотокенового обміну, що дозволяє користувачам обмінювати кілька токенів за одну атомарну транзакцію. Зараз Odos працює у 8 блокчейн-мережах EVM, а обсяг торгів перевищив $10 млрд з моменту запуску 14 місяців тому.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/5ce6d750c5c27f60353b5231e6534cbe68957618674a096126ae27eaf89b6b7b.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p><strong>Наслідки: Революція  децентралізованого штучного інтелекту</strong></p><p>Спостереження за роботою Semiotic робить мене сильно зацікавленим у злитті штучного інтелекту та блокчейну. Їхні творіння не абстрактні; вони планомірно вирішують проблеми користувацького досвіду, один алгоритм за іншим. Це все ресурси, які The Graph та такі ж протоколи можуть надати командам, які працюють зі штучним інтелектом , таким як Semiotic Labs.</p><p>Децентралізований підхід до штучного інтелекту може демократизувати доступ до прогностичних можливостей штучного інтелекту, уможлививши більш справедливий розподіл цих передових можливостей. Він вказує на майбутнє, в якому переваги штучного інтелекту не зосереджуватимуться в руках кількох централізованих організацій, а систематично розподілятимуться по децентралізованій мережі. Хоча ми все ще перебуваємо на ранніх стадіях цієї революції, я в захваті від того, що нас чекає попереду.</p><p>На цьому ми завершуємо дослідження злиття штучного інтелекту і блокчейну в рамках Semiotic Labs. Продовжуючи нашу подорож всесвітом Web3, ми зіткнемося ще з  багатьома захоплюючими інноваціями та революційними розробками.</p><p>Якщо ви хочете дізнатися про останні розробки основної команди розробників The Graph, ви можете стежити за <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://forum.thegraph.com/c/research/cd-1-pager-updates/70">сторінкою основної команди розробників</a> на форумі The Graph.</p><p><strong>Про мене</strong></p><p>Мене звуть Tiehan, я community manager у The Graph. Маючи п&apos;ятирічний досвід розвитку бізнесу та побудови спільноти у Web3, зараз я фокусуюсь на налагодженні зв&apos;язків між міжнародними спільнотами. Я також музикант та візуальний художник, який використовує web3 для самостійного створення міжнародної доступності.</p><p>Не соромтеся звертатися до мене, якщо у вас виникнуть запитання. Ви можете знайти мене на більшості платформ, перелічених <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://linktr.ee/tiehan.xyz">тут</a>.</p>]]></content:encoded>
            <author>night0x@newsletter.paragraph.com (smth0x)</author>
        </item>
    </channel>
</rss>