Home » Как выбрать поставщика данных для своего web3-проекта?

Как выбрать поставщика данных для своего web3-проекта?

by Tim

Помимо криптовалютных токенов, блокчейн также позволяет аналитикам получить более четкую картину практически любого проекта GameFi, NFT, маркетплейса или протокола DeFi, благодаря Footprint.

В Footprint мы создали методологию, которая компилирует и осмысленно агрегирует необработанные данные блокчейна. И это относится к программированию интеграций.

1 . Способы работы с данными блокчейна

Давайте сначала поговорим о методах программной интеграции. Существует несколько различных способов работы с данными блокчейна, и выбранный вами подход будет зависеть от ваших конкретных потребностей и целей. Вот краткий обзор:

1.1 Исследователи блокчейна

Проводник блокчейна — это веб-сайт или инструмент, который позволяет просматривать данные, хранящиеся в блокчейне. Это быстрый и простой способ получить доступ к информации о конкретных транзакциях, блоках и других данных в блокчейне.

Blockchain explorers могут быть полезным инструментом для доступа и просмотра данных, хранящихся в блокчейне, но у них есть некоторые ограничения для программных интеграций. Вот несколько примеров того, чего может не хватать блокчейн-исследователям:

  • Основной упор на необработанные данные. Блокчейн-исследователи обычно отображают необработанные данные из блокчейна. Это требует реализации абстракций над сырыми данными, что может быть утомительным, особенно для проектов, ориентированных на доставку, а не на технические детали определенных блокчейнов.
  • Возможности настройки: Исследователи блокчейна обычно разрабатываются с учетом удобства и простоты использования, что означает, что они могут не предлагать много вариантов настройки. Это может затруднить адаптацию программы к вашим конкретным потребностям или предпочтениям.
  • Расширенные функции поиска: Проводники блокчейна часто имеют базовые функции поиска, но могут не поддерживать более продвинутые функции поиска, такие как булевы операторы или регулярные выражения. Это может затруднить поиск конкретной информации в блокчейне.
  • Интерактивность: Многие программы для изучения блокчейна по сути являются инструментами, предназначенными только для чтения.

Хотя блокчейн эксплореры могут быть полезным способом доступа и просмотра необработанных данных блокчейна, они имеют некоторые ограничения, о которых вы должны знать, прежде чем принять решение о реализации инфраструктуры решения на их основе.

1.2 Собственное решение по индексированию

Установка собственного индексатора для работы с данными блокчейна может иметь ряд преимуществ и потенциальных недостатков. Вот несколько примеров каждого из них:

Преимущества:

  • Настройка: Когда вы настраиваете индексатор, вы полностью контролируете, как индексируются данные и осуществляется доступ к ним. Это позволит вам адаптировать индексатор к вашим конкретным потребностям и предпочтениям.
  • Независимость: Настраивая свой индексатор, вы не полагаетесь на стороннюю службу для поддержания и обновления индекса. Это может обеспечить больший контроль и гибкость в работе с данными блокчейна.
  • Повышенная безопасность: При создании собственного индексатора вы можете применять собственные меры безопасности для защиты данных и предотвращения несанкционированного доступа.

Недостатки:

  • Сложность: Настройка индексатора может быть сложным и трудоемким процессом, особенно если вы новичок в работе с технологией блокчейн. Вам потребуется понимание базовой технологии и готовность потратить время и усилия, необходимые для запуска индексатора.
  • Обслуживание: После установки индексатора вы будете отвечать за его обслуживание и обновление. Это может потребовать постоянного технического опыта и ресурсов, что может стать недостатком, если у вас нет необходимых знаний или поддержки.
  • Стоимость: Установка собственного индексатора может быть дорогостоящей, поскольку вы должны приобрести аппаратное и программное обеспечение, необходимое для работы индексатора, и оплатить все сопутствующие расходы, такие как электроэнергия и пропускная способность.

В целом, настройка собственного индексатора для работы с данными блокчейна может обеспечить больший контроль и настройку, но это также может быть сложным и дорогостоящим процессом. Важно тщательно рассмотреть преимущества и недостатки, прежде чем решить, является ли это правильным подходом.

1.3 База данных как услуга

Использование стороннего индексатора для работы с данными блокчейна может иметь ряд преимуществ и потенциальных недостатков. Вот несколько примеров каждого из них:

Преимущества:

  • Простота использования: Сторонние индексаторы обычно разработаны для простоты использования, что означает, что вы можете начать работать с данными блокчейна быстро и без необходимости изучать множество технических деталей или запускать свое собственное решение для индексации (не имеет значения, является ли оно самостоятельной разработкой или готовым SDK).
  • Расширенная функциональность поиска: Многие сторонние индексаторы предлагают расширенные функции поиска, такие как булевы операторы и регулярные выражения, облегчающие поиск конкретной информации в блокчейне. Они могут иметь множество вариантов реализации, но индексированные данные часто добавляются в реляционную базу данных, что подразумевает полную поддержку SQL.
  • Масштабируемость: Индексаторы сторонних производителей часто предназначены для обработки больших объемов данных, что означает, что они могут быть хорошим вариантом, если вам нужно искать или получать доступ к данным из большого блокчейна.
  • Надежность: Сторонние индексаторы обычно управляются профессиональными организациями, имеющими ресурсы и опыт для обеспечения постоянной актуальности и точности индекса. Решения не всегда децентрализованы, поскольку ориентированы на обработку огромных объемов данных, но подавляющее большинство из них имеют открытый исходный код, что повышает доверие пользователей к сервису.

Недостатки:

  • Зависимость: Используя сторонний индексатор, вы полагаетесь на эту службу для поддержания и обновления индекса. Если у индексатора возникнут технические проблемы или он выйдет из сети, вы не сможете получить доступ к данным блокчейна.
  • Ограниченная настройка: Индексаторы сторонних производителей, как правило, разработаны для простоты использования, что означает, что они могут не предлагать много вариантов настройки. Это может затруднить настройку индексатора под ваши конкретные нужды или предпочтения.
  • Стоимость: Некоторые сторонние индексаторы могут взимать плату за свои услуги, что может быть недостатком, если вы работаете в условиях ограниченного бюджета.

Подводя итоги, использование стороннего индексатора для работы с данными блокчейна может быть удобным и эффективным вариантом, но ограниченным и иногда лишенным настройки.

1.4 Резюме

Цель Footprint — в первую очередь снизить планку для ввода аналитики и работы с данными web3. Такой подход — это баланс между простотой использования и гибкостью. Именно поэтому одной из наших услуг является DaaS (Database as the service type). Прежде чем мы подробнее рассмотрим преимущества нашего сервиса, мы также рассмотрим другой вариант реализации индексатора, а именно самописное решение или SDK.

В следующих главах мы рассмотрим основную функцию, которой должны обладать API блокчейна только для чтения. Мы посмотрим на проблему с разных сторон и рассмотрим альтернативные решения. К числу наиболее важных характеристик API для блокчейна относятся следующие:

  • Простота использования и гибкость.
  • Масштабируемость
  • Совместимость

Простота использования и гибкость — две важные характеристики API блокчейна. API блокчейна, который прост в использовании, облегчит разработчикам начало создания приложений на основе блокчейна, позволяя им быстро создавать прототипы и тестировать свои идеи, не тратя много времени на изучение того, как использовать API.

Гибкость, с другой стороны, означает способность API блокчейна поддерживать широкий спектр сценариев использования и приложений. Гибкий API блокчейна позволит разработчикам получать доступ к различным частям блокчейна и создавать приложения, взаимодействующие с различными типами смарт-контрактов и других активов на основе блокчейна. Это может быть особенно важно для разработчиков, желающих создать приложения, которые могут использоваться в различных отраслях и контекстах.

В целом, наличие API блокчейна, который является одновременно простым в использовании и гибким, может облегчить разработчикам создание инновационных и полезных приложений, которые могут использовать уникальные функции и возможности технологии блокчейна.

1.5 Footprint Analytics

Простота использования и гибкость обеспечивается нашей организацией данных, которая влияет на все аспекты взаимодействия с экосистемой Footprint. Footprint имеет API, построенный поверх этой модели данных, который позволяет пользователям создавать полноценные конвейеры данных для анализа данных и приложений машинного обучения. Мы называем его API данных. Мы одновременно поддерживаем два типа API и два подтипа внутри одного из них, чтобы охватить большинство случаев: Rest API и SQL API.

REST API позволяет быстро интегрировать приложение, поскольку каждая конечная точка представляет собой предварительно созданный, жестко закодированный скрипт, который мы определили как один из самых популярных. Все конечные точки поставляются с простыми в использовании инструментами для фильтрации, сортировки и пагинации.


Благодаря более адаптируемому интерфейсу SQL API, вы можете получить это для более специфических случаев. Одно из преимуществ использования одинаковых SQL-запросов в веб-приложении и API заключается в том, что это может упростить разработку и сопровождение. Используя одни и те же запросы в обоих интерфейсах, разработчики могут избежать необходимости писать и поддерживать отдельные наборы запросов для веб-приложения и API. Это позволяет сэкономить время и усилия и снизить риск ошибок или несоответствий между двумя интерфейсами.


Кроме того, использование одинаковых SQL-запросов в веб-приложении и API может облегчить разработчикам создание единого пользовательского интерфейса. Используя одни и те же запросы, разработчики могут обеспечить согласованность данных, к которым обращаются и которыми манипулируют веб-приложение и API, что позволяет пользователям переключаться между двумя интерфейсами без каких-либо несоответствий или сбоев.

1.6 Другие платформы

Многие альтернативные аналитические решения позволяют пользователю анализировать различные сети в соответствии с различными уровнями требований. Однако в большинстве своем альтернативные решения склонны впадать в крайности, реализуя либо очень гибкий продукт, требующий знания языков запросов или даже языков программирования, либо очень простой интерфейс с готовыми скриптами и, соответственно, низкой гибкостью.

Такие решения, как Moralis и Quicknode, имеют только интерфейс REST API. Несмотря на то, что конечных точек много, это все равно ограничивает разработчика в гибкости возвращаемых данных.

Компания Dune недавно представила свой API. Это асинхронное решение предполагает предварительное существование запроса на платформе под определенным идентификатором (dune.com/query/{{query id}}), с помощью которого можно выполнять запросы в форме SQL. Ключевым ограничением этого решения является необходимость предварительной модификации SQL на платформе, чтобы впоследствии выполнялся обновленный запрос.

Chainbase выпускает SQL API таким же образом, как и Footprint. Однако, в отличие от Footprint, Chainbase не имеет такого сложного ETL, поэтому SQL-запросы могут быть выполнены только для необработанных транзакций.

2. Масштабируемость

Блокчейн API должны быть способны обрабатывать большие объемы данных и транзакций, позволяя разработчикам создавать приложения, которые могут использоваться многими пользователями одновременно.

2.1 Аналитика следов

2.1.1 Современный открытый стек данных

С момента своего запуска в августе 2021 года команда Footprint провела несколько архитектурных модернизаций, благодаря своей сильной способности исследовать и итерировать технологии. Менее чем за полтора года команда смогла успешно внедрить эти изменения. Это является свидетельством мастерства и опыта команды в области технологий и науки о данных.

Путем экспериментов Footprint итеративно внесла три глобальных обновления в архитектуру, в итоге придя к архитектуре, которая отвечает требованиям различных сценариев использования платформы. Более подробную информацию об эволюции реализации можно найти в следующей статье:

https://www.footprint.network/article/iceberg-spark-trino-a-modern-opensource-data-stack-for-blockchain-fp-HGZpPm3D

2.1.2 Синхронное и асинхронное выполнение

В Footprint существует два режима выполнения запросов к SQL API — синхронный и асинхронный. Вызовы API к синхронной конечной точке подразумевают, что SQL-запрос будет выполнен серверами Footprint сразу же после получения HTTP-запроса от приложения, тем самым сохраняя соединение. Это имеет смысл при использовании облегченных запросов, так как в этом случае приложению не придется долго ждать выполнения. Подробности можно найти на следующей странице:

https://docs.footprint.network/reference/post_native

Для тяжелых запросов рекомендуется использовать асинхронный запрос. В отличие от синхронного, клиентскому приложению не нужно поддерживать соединение с сервером во время выполнения. Вместо этого оно может сразу получить request-id, по которому через некоторое время отдельно получить результаты выполнения. Как часть асинхронного API, для получения данных необходимо пройти два этапа — следующая конечная точка будет использоваться для отправки «приказа» на выполнение SQL:

https://docs.footprint.network/reference/post_native-async

Второй шаг заключается в отправке запроса на получение результатов по идентификатору, полученному при обращении к предыдущей конечной точке. Конечная точка для этого второго шага описана на следующей странице:

https://docs.footprint.network/reference/get_native-execution-id-results

2.2 Другие решения

DuneV2 изменяет всю архитектуру базы данных. Dune переходит от базы данных PostgreSQL к инстансу [[Apache Spark]], размещенному на [[Databricks]]. Только асинхронный API.

3. Совместимость

Блокчейн API должны быть совместимы с широким спектром языков программирования и сред разработки, чтобы разработчики могли использовать инструменты и фреймворки, с которыми они наиболее знакомы.

REST легче интегрировать, поскольку каждый язык программирования имеет множество библиотек, обеспечивающих комфортную работу с этим типом API. Однако в конечном итоге и SQL API, и REST работают через HTTP, поэтому опыт разработки практически идентичен в части отправки запроса по умолчанию.

4. Резюме

Как мы проанализировали, в большинстве случаев приложению достаточно использовать готовые DaaS-решения по той причине, что они могут возвращать абстракции (а не только сырые данные) и экономить много времени и денег, поскольку в конечном итоге позволяют командам сосредоточиться не на инфраструктуре, а на ценности продукта. Перебираю различные решения на рынке DaaS,

Footprint представляется наиболее оптимальным для интеграции, поскольку он имеет наиболее гибкую модель формирования запросов, одновременно прост в использовании и имеет под капотом современный стек данных с открытым исходным кодом, что обеспечивает бесперебойное и, главное, быстрое выполнение самых сложных запросов.

Related Posts

Leave a Comment