Home » Comment choisir un fournisseur de données pour votre projet web3 ?

Comment choisir un fournisseur de données pour votre projet web3 ?

by Patricia

Au delà des jetons de crypto-monnaies, la blockchain permet également aux analystes d’obtenir une image plus claire de pratiquement tout projet GameFi, NFT, place de marché ou protocole DeFi, grâce à Footprint.

Chez Footprint, nous avons créé une méthodologie qui compile et agrège de manière significative les données brutes de la blockchain. Et cela s’applique aux intégrations de programmation.

1 . Façons de travailler avec les données de la blockchain

Parlons d’abord des méthodes d’intégration de programmation. Il existe plusieurs façons différentes de travailler avec les données de la blockchain, et l’approche que vous choisirez dépendra de vos besoins et objectifs spécifiques. Voici un aperçu rapide :

1.1 Explorateurs de blockchains

Un explorateur de blockchain est un site Web ou un outil qui vous permet de visualiser les données stockées sur une blockchain. Cela peut être un moyen rapide et facile d’accéder à des informations sur des transactions spécifiques, des blocs et d’autres données sur la blockchain.

Les explorateurs de blockchain peuvent être un outil utile pour accéder et visualiser les données stockées sur une blockchain, mais ils présentent certaines limites pour les intégrations logicielles. Voici quelques exemples de choses qui peuvent manquer aux explorateurs de blockchain :

  • Principalement axé sur les données brutes. Les explorateurs de blockchain affichent généralement les données brutes de la blockchain. Cela nécessite d’implémenter les abstractions sur les données brutes, ce qui peut être fastidieux, surtout pour les projets axés sur la livraison plutôt que sur les détails techniques de certaines blockchains.
  • Options de personnalisation : Les explorateurs de blockchain sont généralement conçus pour être conviviaux et faciles à utiliser, ce qui signifie qu’ils peuvent ne pas offrir beaucoup d’options de personnalisation. Cela peut rendre difficile l’adaptation de l’explorateur à vos besoins ou préférences spécifiques.
  • Fonctionnalité de recherche avancée : Les explorateurs de blockchain disposent souvent d’une fonctionnalité de recherche de base mais peuvent ne pas prendre en charge des fonctionnalités de recherche plus avancées telles que les opérateurs booléens ou les expressions régulières. Cela peut rendre difficile la recherche d’informations spécifiques sur la blockchain.
  • Interactivité : De nombreux explorateurs de blockchain sont essentiellement des outils en lecture seule.

While blockchain explorers can be a helpful way to access and view blockchain raw data, they do have some limitations that you should be aware of before deciding to implement your solution infrastructure based on them.

1.2 Propre solution d’indexation

La mise en place de votre propre indexeur pour travailler avec les données de la blockchain peut présenter plusieurs avantages et inconvénients potentiels. Voici quelques exemples de chacun d’entre eux :

Avantages:

  • Personnalisation : Lorsque vous configurez votre indexeur, vous avez un contrôle total sur la façon dont les données sont indexées et accessibles. Cela peut vous permettre d’adapter l’indexeur à vos besoins et préférences spécifiques.
  • Indépendance : En configurant votre indexeur, vous ne dépendez pas d’un service tiers pour maintenir et mettre à jour l’index. Cela peut vous offrir un meilleur contrôle et une plus grande flexibilité dans votre travail avec les données de la blockchain.
  • Sécurité améliorée : Lorsque vous configurez votre propre indexeur, vous pouvez mettre en œuvre vos propres mesures de sécurité pour protéger les données et empêcher tout accès non autorisé.

Inconvénients:

  • Complexité : La configuration de votre indexeur peut être un processus complexe et chronophage, en particulier si vous êtes novice dans le domaine de la technologie blockchain. Vous devrez comprendre la technologie sous-jacente et être prêt à investir le temps et les efforts nécessaires pour que l’indexeur soit opérationnel.
  • Maintenance : Une fois que vous aurez mis en place votre indexeur, vous serez responsable de sa maintenance et de sa mise à jour. Cela peut nécessiter une expertise technique et des ressources permanentes, ce qui peut être un inconvénient si vous ne disposez pas des connaissances ou du support nécessaires.
    Coût : la mise en place de votre propre indexeur peut s’avérer coûteuse, car vous devez acheter le matériel et le logiciel nécessaires à son fonctionnement et payer les coûts associés, tels que l’électricité et la bande passante.

Dans l’ensemble, la mise en place de votre propre indexeur pour travailler avec les données de la blockchain peut offrir un meilleur contrôle et une plus grande personnalisation, mais cela peut également être un processus complexe et coûteux. Il est important d’examiner attentivement les avantages et les inconvénients avant de décider si cette approche est la bonne.

1.3 Base de données en tant que service

L’utilisation d’un indexeur tiers pour travailler avec les données de la blockchain peut présenter plusieurs avantages et inconvénients potentiels. Voici quelques exemples de chacun d’entre eux :

Avantages:

  • Facilité d’utilisation : Les indexeurs tiers sont généralement conçus pour être faciles à utiliser, ce qui signifie que vous pouvez commencer à travailler avec les données de la blockchain rapidement et sans avoir à apprendre beaucoup de détails techniques ou à exécuter votre solution d’indexation personnalisée (peu importe qu’il s’agisse d’un kit de développement personnel ou d’un kit de développement logiciel prêt à l’emploi).
  • Fonctionnalité de recherche avancée : De nombreux indexeurs tiers offrent des fonctionnalités de recherche avancée, telles que les opérateurs booléens et les expressions régulières, ce qui facilite la recherche d’informations spécifiques sur la blockchain. Il peut y avoir de nombreuses implémentations réelles, mais les données indexées sont souvent ajoutées à une base de données relationnelle, ce qui implique un support SQL complet.
  • Scalability : Les indexeurs tiers sont souvent conçus pour gérer de grands volumes de données, ce qui signifie qu’ils peuvent être une bonne option si vous devez rechercher ou accéder aux données d’une grande blockchain.
  • Fiabilité : Les indexeurs tiers sont généralement gérés par des organisations professionnelles disposant des ressources et de l’expertise nécessaires pour garantir que l’index est toujours à jour et précis. Les solutions ne sont pas toujours décentralisées, car elles sont axées sur le traitement d’énormes quantités de données, mais la grande majorité d’entre elles sont open source, ce qui augmente la confiance des utilisateurs dans le service.

Inconvénients:

  • Dépendance : En utilisant un indexeur tiers, vous dépendez de ce service pour maintenir et mettre à jour l’index. Si l’indexeur rencontre des problèmes techniques ou se déconnecte, vous risquez de ne pas pouvoir accéder aux données de la blockchain.
  • Personnalisation limitée : Les indexeurs tiers sont généralement conçus pour être faciles à utiliser, ce qui signifie qu’ils peuvent ne pas offrir beaucoup d’options de personnalisation. Il peut donc être difficile d’adapter l’indexeur à vos besoins ou préférences spécifiques.
    Coût : Certains indexeurs tiers peuvent facturer leurs services, ce qui peut être un inconvénient si vous travaillez avec un budget serré.

En résumé, l’utilisation d’un indexeur tiers pour travailler avec des données blockchain peut être une option pratique et efficace, mais limitée et manquant parfois de personnalisation.

1.4 Résumé

Le but de Footprint est principalement d’abaisser la barre de la saisie des analyses et du travail avec les données web3. Cette approche est un équilibre entre la facilité d’utilisation et la flexibilité. C’est pourquoi l’un de nos services est le DaaS (Database as the service type). Avant d’examiner de plus près les avantages de notre service, nous allons également nous pencher sur une autre option de mise en œuvre de l’indexeur, à savoir une solution auto-écrite ou SDK.

Dans les prochains chapitres, nous explorerons la caractéristique principale que les API de blockchain en lecture seule devraient avoir. Nous examinerons le problème sous différents angles et envisagerons des solutions alternatives. Voici quelques-unes des caractéristiques les plus importantes des API de blockchain :

  • Facilité d’utilisation et flexibilité
  • Scalabilité
  • Compatibilité

Facilité d’utilisation et flexibilité sont deux caractéristiques importantes des API de blockchain. Une API blockchain facile à utiliser permettra aux développeurs de commencer plus facilement à créer des applications basées sur la blockchain, en leur permettant de prototyper et de tester rapidement leurs idées sans passer beaucoup de temps à apprendre à utiliser l’API.

La flexibilité, quant à elle, fait référence à la capacité d’une API blockchain à prendre en charge un large éventail de cas d’utilisation et d’applications. Une API blockchain flexible permettra aux développeurs d’accéder à différentes parties de la blockchain et de créer des applications qui interagissent avec différents types de contrats intelligents et d’autres actifs basés sur la blockchain. Cela peut être particulièrement important pour les développeurs qui cherchent à construire des applications pouvant être utilisées dans divers secteurs et contextes.

Dans l’ensemble, le fait de disposer d’une API blockchain à la fois facile à utiliser et flexible peut permettre aux développeurs de créer plus facilement des applications innovantes et utiles qui peuvent tirer parti des caractéristiques et des capacités uniques de la technologie blockchain.

1.5 Footprint Analytics (analyse de l’empreinte)

La facilité d’utilisation et la flexibilité sont assurées par notre organisation des données, qui affecte tous les aspects des interactions avec l’écosystème Footprint. Footprint dispose d’une API construite sur ce modèle de données qui permet aux utilisateurs de construire des pipelines de données complets pour l’analyse des données et les applications d’apprentissage automatique. Nous l’appelons une API de données. Nous supportons simultanément deux types d’API et deux sous-types au sein de l’un d’eux pour couvrir la plupart des cas : API REST et API SQL.

L’API REST permet d’intégrer rapidement une application puisque chaque point de terminaison est un script préconstruit et codé en dur que nous avons identifié comme l’un des plus populaires. Tous les points de terminaison sont accompagnés d’outils faciles à utiliser pour le filtrage, le tri et la pagination.

Grâce à l’interface plus adaptable de l’API SQL, vous pouvez obtenir ceci pour des cas plus spécifiques. L’un des avantages de l’utilisation des mêmes requêtes SQL dans l’application Web et l’API est qu’elle peut simplifier le développement et la maintenance. En utilisant les mêmes requêtes dans les deux interfaces, les développeurs n’ont pas besoin d’écrire et de maintenir des jeux de requêtes distincts pour l’application Web et l’API. Cela permet d’économiser du temps et des efforts et de réduire le risque d’erreurs ou d’incohérences entre les deux interfaces.

De plus, l’utilisation des mêmes requêtes SQL dans l’application Web et l’API permet aux développeurs de créer plus facilement une expérience utilisateur homogène. En utilisant les mêmes requêtes, les développeurs peuvent s’assurer que les données accédées et manipulées par l’application Web et l’API sont cohérentes, ce qui permet aux utilisateurs de passer d’une interface à l’autre sans rencontrer d’incohérences ou de perturbations.

1.6 Autres plateformes

De nombreuses solutions d’analyse alternatives permettent à l’utilisateur d’analyser différents réseaux en fonction de divers niveaux d’exigences. Cependant, pour la plupart, les solutions alternatives ont tendance à aller aux extrêmes, en mettant en œuvre soit un produit très flexible qui nécessite des connaissances en langages de requêtes ou même en langages de programmation, soit une interface très simple avec des scripts préparés et, par conséquent, une faible flexibilité.

Des solutions comme Moralis et Quicknode ne disposent que d’une interface API REST. Même s’il existe de nombreux points de terminaison, cela limite toujours le développeur dans la flexibilité des données renvoyées.

Dune a récemment introduit son API. Cette solution asynchrone implique l’existence préalable d’une requête sur la plateforme sous un certain identifiant (dune.com/query/{{identifiant de la requête}}), par laquelle il est possible d’exécuter des requêtes sous forme de SQL. La principale limitation de cette solution est la nécessité de pré-modifier le SQL sur la plate-forme pour que la requête mise à jour soit ensuite exécutée.

Chainbase publie l’API SQL de la même manière que Footprint. Cependant, contrairement à Footprint, Chainbase ne dispose pas d’un ETL aussi sophistiqué, de sorte que les requêtes SQL ne peuvent être exécutées que pour les transactions brutes.

2. Scalabilité

Les API de blockchain doivent être capables de gérer de grands volumes de données et de transactions, ce qui permet aux développeurs de créer des applications qui peuvent être utilisées par de nombreux utilisateurs simultanément.

2.1 Analytique de l’empreinte digitale

2.1.1 Pile de données ouverte moderne

L’équipe Footprint a procédé à plusieurs mises à niveau architecturales depuis son lancement en août 2021, grâce à sa forte capacité à explorer et à itérer sur la technologie. En moins d’un an et demi, l’équipe a pu mettre en œuvre ces changements avec succès. Cela témoigne de la compétence et de l’expertise de l’équipe en matière de technologie et de science des données.

Grâce à l’expérimentation, Footprint a procédé de manière itérative à trois mises à jour globales de l’architecture, pour finalement arriver à une architecture qui répond aux exigences des différents cas d’utilisation de la plateforme. Vous trouverez plus d’informations sur l’évolution de l’implémentation dans le prochain article :

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

2.1.2 Exécutions synchrone et asynchrone

Dans Footprint, il existe deux modes d’exécution des requêtes à l’API SQL – synchrone et asynchrone. Les appels d’API vers le terminal synchrone impliquent que la requête SQL sera exécutée par les serveurs Footprint dès qu’une requête HTTP est reçue de l’application, maintenant ainsi la connexion. Cela a du sens lorsque l’on utilise des requêtes légères, car dans ce cas, l’application ne doit pas attendre longtemps pour l’exécution. Les détails peuvent être trouvés sur la page suivante :

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

Pour les demandes lourdes, il est recommandé d’utiliser une demande asynchrone. Contrairement à une demande synchrone, l’application cliente ne doit pas maintenir une connexion avec le serveur pendant l’exécution. Au lieu de cela, elle peut obtenir immédiatement l’identifiant de la demande, en fonction duquel, après un certain temps, elle obtient séparément les résultats de l’exécution. Dans le cadre de l’API asynchrone, deux étapes doivent être couvertes pour récupérer les données – le point de terminaison suivant sera utilisé pour envoyer un « ordre » pour l’exécution SQL :

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

La deuxième étape consiste à envoyer une requête pour recevoir les résultats par l’identifiant obtenu lors de l’accès au endpoint précédent. L’endpoint pour cette deuxième étape est décrit à la page suivante :

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

2.2 Autres solutions

DuneV2 change toute l’architecture de la base de données. Dune passe d’une base de données PostgreSQL à une instance de [[Apache Spark]] hébergée sur [[Databricks]]. Seulement une API asynchrone.

3. Compatibilité

Les API blockchain doivent être compatibles avec un large éventail de langages de programmation et d’environnements de développement afin que les développeurs puissent utiliser les outils et les frameworks qui leur sont les plus familiers.

REST est plus facile à intégrer car chaque langage de programmation dispose de nombreuses bibliothèques qui permettent de travailler confortablement avec ce type d’API. Cependant, en fin de compte, les API SQL et REST fonctionnent toutes deux sur HTTP, de sorte que l’expérience de développement est presque identique en ce qui concerne l’envoi d’une requête par défaut.

3

4. Résumé

Comme nous l’avons analysé, dans la plupart des cas, il suffit pour une application d’utiliser des solutions DaaS prêtes à l’emploi pour la raison qu’elles peuvent renvoyer des abstractions (pas seulement des données brutes) et économiser beaucoup de temps et d’argent, car elles permettent finalement aux équipes de se concentrer non pas sur l’infrastructure mais sur la valeur du produit. J’ai passé en revue diverses solutions sur le marché du DaaS,

Footprint semble être la plus optimale à intégrer, car elle possède le modèle le plus flexible pour générer des requêtes tout en étant à la fois facile à utiliser et en ayant sous le capot la pile de données open-source moderne, qui garantit une exécution ininterrompue et, surtout, rapide des requêtes les plus complexes.

Related Posts

Leave a Comment