Rejoignez-Nous sur

Recherchez votre solde de valideur Ethereum 2.0 avec l'API Infura

News

Recherchez votre solde de valideur Ethereum 2.0 avec l'API Infura

Comment interroger des soldes de validateur par programme avec l'API Infura Eth 2.0 Beacon Chain.

ConsenSys

Chaque jour nous rapproche de la genèse de Ethereum 2.0 Phase 0. Des efforts importants pour les réseaux de test multi-clients sont bien avancés avec le witti testnet et le prochain altona testnet. L'intérêt et la participation au jalonnement de ces filets de test continuent d'augmenter, plus de 65% de tous les répondants prévoyant de miser leur ETH, selon un nouveau rapport Ethereum 2.0.

L'un des besoins les plus élémentaires pour ceux qui miseront sur ETH 2.0 sera de surveiller l'équilibre de leurs valideurs. Il est essentiel de savoir s'ils accumulent les récompenses attendues. Bien sûr, il existe plusieurs grands explorateurs de blocs disponible où vous pouvez voir ces informations, mais dans cet article, nous allons montrer comment vous pouvez l'interroger par programme avec l'API Infura ETH 2.0 Beacon Chain.

La possibilité d'interroger votre solde par programme est importante car elle vous permet de prendre facilement des mesures sur les données. Vous voudrez peut-être écrire un programme qui surveille la balance et vous envoie un message texte en cas de chute inattendue!

Voyons comment accomplir cela dans un programme de dactylographie simple.

Nous allons d'abord importer le axios bibliothèque et créer un client HTTP avec quelques valeurs par défaut de base, en chargeant notre ID de projet Infura à partir d'une variable d'environnement:

import axios from 'axios'; const instance = axios.create({ 
baseURL: 'https://witti.infura.io/',
auth: {
username: process.env.INFURA_PROJECT_ID,
password: '',
},
});

Nous définissons quelques constantes utiles liées aux paramètres de base du réseau. Les deux premiers nous aideront à calculer l'époque actuelle, et le dernier nous aidera à convertir un équilibre gwei en unité eth plus familière:

const SECONDS_PER_SLOT = 12; 
const SLOTS_PER_EPOCH = 32;
const GWEI_PER_ETH = 1000000000;

Ensuite, nous allons interroger la genèse du réseau et l'utiliser pour calculer le courant époque:

(async () => { 
let response = await instance.get('node/genesis_time')
const genesisTime = response.data;
const now = Math.floor(Date.now() / 1000)
const currentEpoch = Math.floor((now - genesisTime) / (SECONDS_PER_SLOT * SLOTS_PER_EPOCH))

En utilisant cela, nous pouvons alors interroger le solde actuel d'un validateur (ici en utilisant la clé publique du validateur de solde le plus élevé du réseau au moment de la rédaction):

   response = await instance.post('beacon/validators', {
epoch: currentEpoch.toString(),
pubkeys: ("0xb0bfa93603f81ecaf3c450b793e71f7372822cd2002534364493e4e497fb5df16d252ae2fdc6bbc0e74d849f918db393"), });
const balanceGwei = response.data(0).balance;
const balance = balanceGwei / GWEI_PER_ETH;
console.log(`You have ${balance} Ξ2.0`); })();

Lorsque nous exécutons le programme complet, nous verrons une sortie comme:

You have 32.500178823 Ξ2.0

Maintenant, nous pouvons étendre le programme pour faire quelque chose d'utile avec les informations!

Pour plus de commodité, voici le programme complet en un seul extrait:

import axios from 'axios'; const instance = axios.create({ 
baseURL: 'https://witti.infura.io/',
auth: {
username: process.env.INFURA_PROJECT_ID,
password: '',
},
});
const SECONDS_PER_SLOT = 12;
const SLOTS_PER_EPOCH = 32;
const GWEI_PER_ETH = 1000000000;
(async () => {
let response = await instance.get('node/genesis_time')
const genesisTime = response.data;
const now = Math.floor(Date.now() / 1000)
const currentEpoch = Math.floor((now - genesisTime) / (SECONDS_PER_SLOT * SLOTS_PER_EPOCH))
response = await instance.post('beacon/validators', {
epoch: currentEpoch.toString(),
pubkeys: ("0xb0bfa93603f81ecaf3c450b793e71f7372822cd2002534364493e4e497fb5df16d252ae2fdc6bbc0e74d849f918db393"),
});
const balanceGwei = response.data(0).balance;
const balance = balanceGwei / GWEI_PER_ETH;
console.log(`You have ${balance} Ξ2.0`);
})();

En prévision du lancement d'Ethereum 2.0, nous avons prévu un temps limité bêta privée sortie de l'API Eth2 Beacon Chain d'Infura. Si vous souhaitez y accéder, postulez maintenant et enregistrez votre intérêt. La documentation sera envoyée directement aux utilisateurs acceptés dans la version bêta.

Nous apprécions grandement tous nos testeurs. Ce sont vos commentaires qui nous aideront à affiner notre API Eth2 Beacon Chain, en veillant à ce que le produit final soit aussi pertinent et performant que possible, avant de le rendre plus largement disponible.



Traduction de l’article de ConsenSys :
Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top