Trouver les soldes de jetons ERC-20 dans un portefeuille donné est simple ; lorsque les utilisateurs ouvrent leur portefeuille, ils affichent automatiquement les soldes de tous les jetons importés. Cependant, lorsqu'un individu ou une entité, comme les forces de l'ordre ou une entreprise, a besoin de vérifier les soldes de jetons ERC-20 d'une autre adresse, l'accès direct au portefeuille n'est pas possible.
Dans de tels cas, une interface de programmation d’application (API) peut être utilisée pour vérifier les soldes d’un portefeuille. Une API renverrait tous les soldes de jetons ERC-20 appartenant à une adresse et pourrait automatiser le processus de vérification des soldes de jetons.
Cet article explique comment utiliser les API de Chainbase, Alchemy et Moralis pour obtenir des informations sur les jetons ERC-20 appartenant à une adresse.
Guide étape par étape pour utiliser Chainbase pour trouver tous les jetons ERC-20 appartenant à une adresse
Chainbase – une infrastructure de couche d'interaction blockchain Web3 – propose des services API pour aider les développeurs à accéder et à utiliser rapidement les réseaux blockchain. Ses API facilitent les requêtes de données en chaîne.
Pour travailler avec Chainbase, un utilisateur a besoin d'un compte sur la plateforme avec une clé API, un environnement de développement intégré et une adresse de portefeuille en entrée.
Étape 1 : Créez un compte gratuit et connectez-vous
Créez un compte gratuit sur Chainbase et accédez à différentes API et à son cloud de données. Connectez-vous ensuite à Chainbase et visitez le tableau de bord. Lancez un nouveau projet dans la console et obtenez une clé API.
Étape 2 : Utilisez l'API Chainbase pour écrire un script
La prochaine étape consiste à effectuer un appel API à Chainbase pour récupérer les soldes de jetons ERC-20. Les exemples ci-dessous utilisent Javascript. L'action suivante implique l'exécution d'une requête HTTP avec JavaScript, en utilisant la bibliothèque Axios pour obtenir les soldes de jetons ERC-20 de Chainbase.
Utilisez « fetch » pour effectuer une requête HTTP afin de récupérer des données d'un serveur, comme indiqué dans l'extrait de code ci-dessous :
Le code de l'exemple ci-dessus interroge Chainbase pour récupérer les cinq premiers soldes de jetons ERC-20 d'un portefeuille (en utilisant l'adresse de Vitalik Buterin comme exemple) sur le réseau principal Ethereum, affichant les résultats ou les erreurs rencontrées.
Bien que l'API Fetch native soit un moyen courant d'effectuer des requêtes HTTP avec JavaScript, dans l'exemple de code, la « récupération » est conceptuellement effectuée par Axios, et non par l'API Fetch native. Pour utiliser Axios, l'utilisateur doit l'installer en utilisant « npm install axios --save » dans le terminal.
Le code ci-dessus utilise Axios en JavaScript pour interroger Chainbase sur les cinq premiers soldes de jetons ERC-20 du portefeuille de Vitalik Buterin sur le réseau principal Ethereum.
Étape 3 : Imprimez les soldes de jetons
L'API getAccountTokens de Chainbase utilise l'ID de chaîne et l'adresse du portefeuille comme paramètres et renvoie tous les soldes de jetons ERC-20 que possède le portefeuille. Les utilisateurs peuvent également trouver des informations sur un jeton spécifique en remplissant le champ « contract_address ». Pour imprimer les données, l'utilisateur doit exécuter la commande « node <filename>.js » dans le terminal.
L'extrait de code ci-dessus affiche les soldes et les informations de plusieurs jetons ERC-20, notamment Eterium, Uniswap V2, dYdX et autres, à partir d'un portefeuille donné.
Guide étape par étape pour utiliser Alchemy pour trouver tous les jetons ERC-20 appartenant à une adresse
Alchemy propose des API qui fonctionnent comme une couche de plate-forme, lisant ou écrivant sur la blockchain et fournissant les informations précises souhaitées par les développeurs. Voici la procédure pour obtenir des soldes de jetons via Alchemy :
Étape 1 : Installer Node et le NPM
Installez Node et Node Package Manager (NPM) sur la machine locale. Node est un environnement d'exécution JavaScript multiplateforme et open source, tandis que NPM donne accès à un vaste écosystème de bibliothèques et d'outils.
Étape 2 : Créez un compte Alchemy et créez une application
Sur le site Web d'Alchemy, créez un compte gratuit. Ensuite, connectez-vous et accédez au « Tableau de bord Alchemy » pour créer une nouvelle application. Définissez la blockchain sur « Ethereum » et le réseau sur « Mainnet ». Cliquez sur le bouton « Afficher la clé » de l'application sur le tableau de bord et notez l'URL HTTP et la clé API.
L'URL sera sous cette forme : https://eth-mainnet.g.alchemy.com/v2/xxxxxxxxx
Étape 3 : Créer un projet Node
L'étape suivante consiste à initialiser un référentiel vide et à installer les dépendances Node.js requises. Pour les interactions API, en particulier avec l'API token, les utilisateurs doivent utiliser le kit de développement logiciel (SDK) Alchemy, bien qu'Axios ou Fetch puissent constituer des alternatives appropriées.
Axios est une bibliothèque Javascript utilisée pour effectuer des requêtes HTTP à partir de nœuds. Fetch API est un module intégré à Node qui facilite l'envoi de requêtes API et la gestion des réponses sur le serveur. Le SDK Alchemy est une bibliothèque de fonctions de programme qui prend en charge l'accès au modèle de données et aux technologies sous-jacentes.
Le code est sous-indiqué :
Le code créera un référentiel « eth-balance », qui contiendra tous les fichiers et dépendances, et le code sera écrit dans le fichier « main.js ».
Étape 4 : Obtenez les soldes de jetons d'une adresse
Pour récupérer les soldes de jetons, les utilisateurs peuvent utiliser la méthode getTokenBalances, qui nécessite un seul argument : l'adresse du portefeuille pour lequel les soldes de jetons sont souhaités. Ensuite, un utilisateur doit ajouter le code suivant au fichier main.js.
Utilisez la commande suivante pour exécuter le script :
La sortie sera affichée comme suit :
Le code ci-dessus affiche les soldes de jetons pour le portefeuille à l'adresse 0xd8da6bf26964af9d7eed9e03e53415d37aa96045, répertoriant chaque jeton par son adresse contractuelle ainsi que le solde respectif au format hexadécimal.
Cependant, le résultat de l’étape précédente – qui répertorie les adresses et les soldes des contrats symboliques dans les plus petites unités – n’est pas facile à comprendre. Pour obtenir des informations détaillées sur les jetons telles que le nom, le symbole et le nombre décimal, les utilisateurs doivent utiliser la méthode getTokenMetadata. Cette fonction — nécessitant l'adresse du contrat en entrée — fournit des données dans un format structuré.
De plus, les utilisateurs peuvent affiner leur script pour intégrer getTokenBalances avec la méthode getTokenMetadata. Par exemple, ils peuvent éliminer les jetons à solde nul et convertir les soldes de jetons en formes lisibles par l’homme.
Guide étape par étape pour utiliser Moralis pour trouver tous les jetons ERC-20 appartenant à une adresse
Moralis dispose d'API Web3 de niveau entreprise, facilitant l'intégration de Web3 dans n'importe quelle pile technologique. Voici le processus d'utilisation de Moralis pour rechercher tous les jetons ERC-20 appartenant à une adresse :
Étape 1 : Configurer Moralis
Installez Node.js v14+ et NPM. Décompressez le binaire dans le dossier d'installation et définissez la variable d'environnement système pour Node. La commande npm-install configure un package NPM et tous les autres packages dont il pourrait dépendre.
Créez un compte Moralis gratuit, connectez-vous au tableau de bord Moralis et obtenez la clé API. Les utilisateurs peuvent le trouver dans Paramètres > Secrets. Ici, les utilisateurs doivent localiser la « Clé API Web3 - Par défaut » ou une clé portant un nom similaire et copier sa valeur pour l'utiliser dans leurs projets.
Étape 2 : Trouver tous les jetons ERC-20 appartenant à une adresse
Moralis fournit un point de terminaison « getWalletTokenBalances » pour rechercher tous les jetons ERC-20 appartenant à une adresse. Il nécessite deux paramètres : l'adresse et la chaîne. Dans ce contexte, l'adresse représente l'adresse du portefeuille spécifique interrogée pour les soldes de jetons. Chain indique le réseau blockchain particulier, tel qu'Ethereum, sur lequel ces jetons sont détenus.
Voici le code Javascript à utiliser :
Le code ci-dessus initialise le SDK Moralis, le configure avec une clé API fournie, puis interroge tous les soldes de jetons ERC-20 associés à une adresse de portefeuille Ethereum spécifiée, imprimant les résultats au format JSON sur la console.
Étape 3 : Exécutez le script
Désormais, les utilisateurs peuvent exécuter le script et trouver le nombre de jetons. En JavaScript, les utilisateurs doivent saisir la commande suivante :
Le terminal affichera la réponse JSON ci-dessous :
L'extrait JSON ci-dessus détaille les avoirs en jetons ERC-20 dans un portefeuille blockchain spécifique comprenant deux jetons : ApeCoin (APE) et Wrapped Ether (WETH). Il comprend des informations essentielles telles que les adresses du contrat, les noms, les symboles, les URL des logos (si disponibles), la précision décimale et les soldes des jetons dans le portefeuille, exprimés dans la plus petite dénomination de chaque jeton.