
La plus populaire dans le réseau Ethereum est la spécification ERC20. Pour se conformer à cette norme ERC20, un jeton doit avoir de nombreuses méthodes et propriétés différentes. Vous pouvez le considérer comme une interface standard pour les contrats intelligents s’ils doivent fonctionner dans le réseau Ethereum en tant que jeton.
Aujourd’hui, nous allons vous dire comment obtenir le solde actuel du portefeuille d’un jeton ERC-20 particulier.
Conditions préalables:
- Installer Nodejs sur votre système
- Éditeur de texte
- Terminal/ligne de commande
Configuration du nœud
Voir notre guide de démarrage rapide pour savoir comment vous pouvez travailler avec notre API et lire notre documentation
Configurez votre projet
Maintenant que vous avez fait tout le travail pour que le nœud Ethereum soit opérationnel, vous pouvez vous connecter au nœud via web3js . Il s’agit d’un package sur npm, qui vous permettra d’interagir facilement avec la blockchain Ethereum.
Ensuite, vous devez créer un dossier pour le projet. Pour ce faire, vous devez ouvrir une invite de commande et exécuter les commandes suivantes :
- mkdir ERC20Balance
- cd ERC20Balance.
Cela devrait créer un dossier nommé ERC20Balance, puis déplacer la ligne de commande vers ce répertoire.
Ensuite, vous devrez installer le package web3.js via npm. Pour ce faire, vous pouvez exécuter — npm installer web3.
Cela créera le package.json et package-lock.json fichiers ainsi que les node_modules dossier. Tout cela devrait être dans votre ERC20Balance dossier .
Une fois que nous avons terminé avec cela, nous pouvons créer un fichier et le nommer index.js . C’est toute la configuration dont vous aurez besoin pour écrire le JavaScript qui vous donnera le solde de jetons que vous recherchez !
Obtenir un solde de portefeuille ERC20-Token
Une fois notre projet monté, il est temps d’en apprendre un peu plus sur la blockchain Ethereum. Pour obtenir un solde de jetons ERC-20, vous devrez faire un certain nombre de choses.
- Connectez-vous au nœud Ethereum
- Écrivez un ABI pour le contrat intelligent que nous voulons utiliser pour interagir avec la blockchain.
- Trouvez le jeton ERC20 pour obtenir le solde
- Trouvez un portefeuille pour obtenir le solde
- Mets le tout ensemble.
Connectez-vous au nœud Ethereum
Au sommet de votre index.js fichier, vous souhaiterez importer la bibliothèque Web3 que vous avez installée précédemment.
Cela nous permet d’appeler des méthodes Web3 utiles pour interagir et se connecter à la blockchain Ethereum.
Pour se connecter au nœud, nous pouvons utiliser le fournisseur HTTP de WatchData que nous avons construit précédemment. En général, votre code devrait ressembler à ceci :
const Web3 = require('web3');
const provider = 'https://ethereum.api.watchdata.io/node/jsonrpc?api_key=YOUR_API_KEY';
const web3 = new Web3(new Web3.providers.HttpProvider(provider));
Ce code vous connectera à l’API Watchdata, qui exécute le client Ethereum pour vous. Vous pouvez maintenant utiliser la variable Web3 pour appeler toutes les méthodes web3js proposées par la bibliothèque.
Ecrire l’ABI
ABI est l’abréviation de Application Binary Interface.
Ce que fait l’ABI, c’est déterminer quelle fonction vous souhaitez utiliser à partir d’un contrat intelligent déployé sur une machine virtuelle Ethereum.
La spécification ERC20 est en fait un contrat intelligent sur Ethereum, et vous pouvez voir l’ensemble de l’ABI pour cela ici . Vous n’avez besoin que de la méthode `balanceOf`. Il semble un peu inutile de tout copier pour une seule fonction.
Heureusement pour vous, c’est tout à fait possible. De cette énorme chose, vous n’avez besoin que d’une partie pour utiliser la méthode `balanceOf`.
const minABI = [
{
constant: true,
inputs: [{ name: "_owner", type: "address" }],
name: "balanceOf",
outputs: [{ name: "balance", type: "uint256" }],
type: "function",
},
];
Trouvez un ERC20-Token pour obtenir le solde de
Vous interagirez très probablement avec de nombreux jetons ERC20 différents au cours de vos activités de cryptographie. L’USDC est l’un de ces jetons.
L’USDC sera le jeton que je présenterai, mais vous pouvez utiliser n’importe quel jeton qui suit la spécification ERC20.
Vous voudrez vous diriger vers Etherscan pour trouver « l’adresse du contrat ». Il s’agit du contrat intelligent qui régit le fonctionnement du jeton. Dans mon cas, c’est USDC.
Vous voudrez saisir l’`adresse du contrat` que vous pouvez trouver comme suit :
Adresse du jeton USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Trouvez l’adresse du portefeuille pour obtenir le solde
Vous pouvez utiliser un processus similaire à partir de l’étape 3 pour trouver l’adresse du portefeuille.
J’ai sélectionné au hasard un portefeuille dans la liste des transactions, qui se trouve sous toutes les informations de jeton. Son adresse est – 0x2e91728aF3a54aCDCeD7938fE9016aE2cc5948C9
Écrivons le code
Nous avons une connexion au nœud Ethereum, un ABI à appeler, une adresse de contrat et une adresse de portefeuille. Avec quelques appels à web3js, nous pouvons obtenir le montant d’USDC que cette adresse contient.
L’ensemble de votre fichier index.js ressemblera à ceci
//index.js
console.log('Hello, World.');curl --request POST \
const Web3 = require('web3');
const provider = 'https://ethereum.api.watchdata.io/node/jsonrpc?api_key='YOUR_API_KEY';
const web3 = new Web3(new Web3.providers.HttpProvider(provider));
const token = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
const wallet = '0x2e91728aF3a54aCDCeD7938fE9016aE2cc5948C9';const minABI = [
{
constant: true,
inputs: [{ name: "_owner", type: "address" }],
name: "balanceOf",
outputs: [{ name: "balance", type: "uint256" }],
type: "function",
},
];const contract = new web3.eth.Contract(minABI, token);
const getBalance = async () => {
const res = await contract.methods.balanceOf(wallet).call();
const format = web3.utils.fromWei(res);
console.log(format);
}
getBalance();
Attention, le solde du portefeuille résultant sera en format wei . Il s’agit de la plus petite valeur prise en charge par Ethereum
La dernière chose que vous devez faire est de l’exécuter ! La seule chose que vous devez faire à ce stade est de sauvegarder le fichier index.js, puis de l’exécuter dans le terminal :
index de nœud
Assurez-vous d’être toujours dans le bon répertoire !
Il devrait afficher dans votre console le nombre d’USDC au format wei