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

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

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

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

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 Blockchain должны быть способны обрабатывать большие объемы данных и транзакций, позволяя разработчикам создавать приложения, которые могут использоваться многими пользователями одновременно.

 2.1 Footprint Analytics

 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, поскольку он имеет наиболее гибкую модель формирования запросов, одновременно прост в использовании и имеет под капотом современный стек данных с открытым исходным кодом, что обеспечивает бесперебойное и, главное, быстрое выполнение самых сложных запросов.

Источник