Mise à jour technique de novembre de SubQuery : mises à jour de l'EVM et du manifeste

Lisez la suite pour notre plongée technique dans la dernière version de SubQuery

Prise en charge des fichiers externes de type chaîne dans le manifeste du projet

Aujourd'hui est le lancement de version 0.2.0open in new window de notre fichier manifeste de projet (project.yaml). Cette nouvelle version apporte aux développeurs diverses améliorations qui ont été demandées par les clients.

Plus important encore, vous pouvez maintenant référencer un fichier de définition de types de chaîne qui a tous les types personnalisés inclus lorsque vous indexez une chaîne de substrat personnalisée. Cela vous permet de connecter rapidement un nouveau projet SubQuery à n'importe quelle chaîne basée sur le substrat, y compris toutes les parachains de Kusama. Ce devrait être un fichier type de chaîne standard qui déclare les types spécifiques pris en charge par cette blockchain dans l'un ou l'autre des formats .json ou .yaml.

Cette solution vous permet d'éviter de copier et de gérer les définitions de type de chaîne dans le manifeste lui-même, et vous permet de simplement cloner les fichiers de type de chaîne publiés répertoriés dans des dépôts comme PolkadotJSopen in new window.

Vous pouvez vous informer sur le nouveau fichier manifeste, y compris sur la façon dont vous pouvez y migrer vos projets, ici dans notre documentation mise à jour.open in new window

Support EVM Moonbeam

La semaine dernière, nous avons eu le plaisir d'annoncer que nous travaillions avec Moonbeam pour apporter un support complet de l'indexation des EVM et des substrats à Moonriver.

Aujourd'hui, nous donnons suite à cette annonce avec toutes les ressources pour développeurs dont vous avez besoin pour démarrer.

Actuellement, il n'existe pas d'outil open-source permettant aux développeurs de collecter et d'interroger les données de manière flexible sur Ethereum et Polkadot/Kusama. Cette limitation peut faire en sorte que les solutions dApps de Moonriver soient cloisonnées dans la couche des contrats intelligents et limitent ainsi leur potentiel pour les consommateurs des deux réseaux prospères. Ce partenariat avec Moonbeam apporte une solution d'indexation des données complète et unifiée pour toutes les données blockchain au sein de Moonriver et profitera grandement à l'écosystème d'applications en pleine croissance de Moonriver.

SubQuery sera l'invité du prochain atelier Moonbuilders, le mercredi 1er décembre, inscrivez-vous iciopen in new window.

D'abord, familiarisez-vous avec la documentation mise à jour sur la façon de vous connecter et d'indexer les données de Moonbeam, Moonbase Alpha et Moonriver.open in new window Le processus d'indexation des données de Moonbeam ne comporte que deux étapes :

Étape 1 : Ajouter la source de données personnalisée Moonbeam

Nous avons créé un processeur de données spécialement conçu pour fonctionner avec l'implémentation de Frontieropen in new window de Moonbeam. Il vous permet de référencer des ressources ABI spécifiques utilisées par le processeur pour analyser les arguments et l'adresse du contrat intelligent d'où proviennent les événements ou vers lequel l'appel est effectué. Vous pouvez en savoir plus iciopen in new window.

SubQuery introduit des filtres plus avancés que d'autres indexeurs, permettant le filtrage des transactions non-contractuelles, des expéditeurs de transactions, des contrats et des arguments de log indexés. Cela permet aux développeurs de construire une grande variété de projets qui répondent à leurs besoins spécifiques en matière de données.

Étape 2 : Indexer les données de Moonbeam

Tout comme un projet de SubQuery normal, vous utilisez une fonction de mapping pour transformer les données hors chaîne vers les entités GraphQL que vous définissez, la différence est que au lieu d'un SubstrateEvent ou SubstrateExtrinsic, votre fonction de mappage recevra un MoonbeamCall ou MoonbeamEvent basé sur le type TransactionResponseopen in new window d'Ether ou Logopen in new window. Vous pouvez en savoir plus à ce sujet iciopen in new window.

Lisez la documentation complète sur ce processus iciopen in new window

Exemple de projet

Il y a un exemple de projet complet qui indexe les événements de transfert et approuve appels de contrat intelligent. Le code pour ce projet d'exemple est ici sur GitHubopen in new window ou accessible via le projet live SubQuery sur SubQuery Explorer iciopen in new window.

La majeure partie des changements se produisent dans le fichier Manifest (project.yaml). Vous pouvez voir ci-dessous que nous avons élargi les filtres d'appelopen in new window pour prendre en charge soit chaînes de signature de fonctionopen in new window soit la fonction sighash pour filtrer la fonction appelée sur le contrat. Pour les filtres d'événementsopen in new window, vous pouvez utiliser le filtrage des sujets qui suit la Norme de filtres de journaux JSON-PRC d'Ethereum trouvée iciopen in new window. Notez que SubQuery introduit des filtres plus avancés que d'autres indexeurs pour Moonbeam EVM et que ces améliorations devraient bénéficier de manière significative aux développeurs.

Si vous connaissez la façon dont le projet SubQuery basé sur Substrate est réalisé, vous remarquerez à quel point les fonctions de mappage sont similaires pour le nouveau support de Moonriver. Chaque fonction de mappage reçoit un MoonbeamCall ou MoonbeamEvent et les traite comme n'importe quel autre projet de SubQuery.

Si vous avez des questions à ce sujet, assurez-vous de vérifier nos docsopen in new window ou de nous contacter sur notre canal #technical-support dans notre communauté Discordopen in new window.

Cloner le projet d'exemple sur GitHubopen in new window

Comme vous pouvez le constater, la création d'un projet Moonriver ou Moonbase Alpha qui indexe à la fois les données Substrate et EVM dans un seul projet est extrêmement simple et largement similaire. Vous pouvez utiliser les outils d'échafaudage avancés de SubQuery pour accélérer le développement de votre dApp et tirer parti de l'indexation ou de l'indexation plus riche pour vous pour construire des dApps plus intuitifs. Nous sommes impatients de voir ce que vous allez construire !

À propos de SubQuery

SubQuery est une couche d'agrégation de données qui fonctionne entre les blockchains de couche 1 (comme Moonriver et Polkadot) et les DApps. Ce service débloque les données de la blockchain et les transforme en un état interrogeable afin qu'elles puissent être utilisées dans des applications intuitives. Il permet aux développeurs de DApps de se concentrer sur leur cas d'utilisation principal et leur front-end, sans avoir besoin de perdre du temps à construire un back-end personnalisé pour le traitement des données.

​​Linktreeopen in new window | Site Webopen in new window | Discordopen in new window | Telegramopen in new window | Twitteropen in new window | Matrixopen in new window | LinkedInopen in new window | Githubopen in new window | YouTubeopen in new window

À propos de Moonbeam

Moonbeam est une plateforme de contrats intelligents compatible avec Ethereum sur le réseau Polkadot qui facilite la création d'applications nativement interopérables. Cette compatibilité avec Ethereum permet aux développeurs de déployer des contrats intelligents Solidity existants et des frontaux DApp sur Moonbeam avec un minimum de modifications. En tant que parachain sur le réseau Polkadot, Moonbeam bénéficiera de la sécurité partagée de la chaîne relais Polkadot et des intégrations avec d'autres chaînes connectées à Polkadot. Actuellement en développement actif par PureStake, Moonbeam devrait atteindre le MainNet au quatrième trimestre 2021. Pour en savoir plus : https://moonbeam.network/open in new window.

Last Updated:
Contributors: James Bayly