Les explorers

Les explorers de blockchain sont des outils indispensables dans l’écosystème des crypto-monnaies. Ils permettent aux utilisateurs de visualiser les données de la blockchain de manière détaillée. Dans un univers où la transparence et la décentralisation sont des valeurs clés, les explorers de blockchain jouent un rôle crucial en fournissant une interface qui facilite l’accès aux informations stockées sur la blockchain.

Un explorer de blockchain est une application web qui permet de naviguer dans la blockchain, en offrant une vue détaillée des transactions, des blocs, des adresses de portefeuille et même des contrats intelligents. Grâce à ces outils, il est possible de vérifier l’état d’une transaction, de consulter les soldes des portefeuilles, de bien comprendre l’activité du réseau et même de vérifier et d’interagir avec des smart-contract…

Un peu d’histoire…

L’apparition du premier explorer de blockchain remonte à l’émergence de Bitcoin, la première crypto-monnaie, en 2009. Avec la création de Bitcoin par le mystérieux Satoshi Nakamoto, est apparu le besoin de suivre et de vérifier les transactions effectuées sur ce nouveau réseau décentralisé. Initialement, les transactions Bitcoin étaient consultées directement via les nœuds du réseau Bitcoin, ce qui nécessitait une certaine expertise technique.

Le premier véritable explorateur de blockchain a été Blockchain.info (maintenant Blockchain.com), lancé en 2011. Cet outil révolutionnaire a permis aux utilisateurs de visualiser les transactions Bitcoin de manière simple et intuitive, ouvrant ainsi la voie à une adoption plus large de la technologie blockchain. Blockchain.info a offert une interface utilisateur conviviale qui a permis à quiconque, indépendamment de ses compétences techniques, de suivre les transactions et de comprendre l’activité du réseau Bitcoin.

Avec le succès de Blockchain.info, d’autres explorers de blockchain ont vu le jour, chacun ajoutant ses propres fonctionnalités et améliorations. Etherscan, l’un des explorers de blockchain les plus populaires aujourd’hui, a été lancé en 2015. Etherscan a apporté des fonctionnalités avancées spécifiques à la blockchain Ethereum, comme la possibilité d’interagir directement avec les contrats intelligents et de suivre les tokens ERC-20 et ERC-721. 

Depuis, de nombreux autres explorers de blockchain ont été développés pour divers réseaux, tels que BscScan pour Binance Smart Chain, Polygonscan pour Polygon etc.

La DeFi aussi a ses explorers de Blockchain mais ils permettent à leurs utilisateurs d’avoir une vue orientée “KPI financières” qui sont un agrégat de transactions de niveau 1 ou 2. On parle parfois “de layer 3”. On peut citer ici DeFiLlama https://defillama.com et Dune https://dune.com/discover/content/trending

Fonctionnalités clés des explorers de Blockchain

Recherche de transactions

L’une des fonctionnalités les plus fondamentales des explorers de blockchain est la capacité de rechercher et de consulter des transactions spécifiques. En entrant simplement l’ID de la transaction ou l’adresse associée, les utilisateurs peuvent obtenir des informations détaillées sur une transaction particulière, telles que l’expéditeur, le destinataire, le montant transféré, les frais de transaction et l’état de confirmation de cette dernière.

Consultation des adresses de portefeuille

Ils permettent également de consulter les adresses de portefeuille, offrant une vue d’ensemble des soldes et des transactions associées à une adresse donnée. En saisissant une adresse de portefeuille, les utilisateurs peuvent voir toutes les transactions entrantes et sortantes, le solde actuel, et l’historique des transactions. Cette fonctionnalité est particulièrement utile pour suivre les portefeuilles publics ou pour vérifier les activités d’un portefeuille personnel.

Visualisation des blocs et des mineurs

Les explorers de blockchain fournissent des informations détaillées sur les blocs et les mineurs qui les ont créés. Chaque bloc contient plusieurs transactions et est lié au bloc précédent, formant ainsi une chaîne continue. En explorant les blocs, les utilisateurs peuvent voir le numéro de bloc, le timestamp (horodatage), les transactions incluses, et les récompenses de minage. De plus, il est possible de voir quels mineurs ou pools de minage ont produit chaque bloc, offrant une transparence sur la distribution du minage dans le réseau.

Interaction avec les smart contracts

Une fonctionnalité avancée des explorers de blockchain comme Etherscan est la capacité d’interagir directement avec les smart contracts. Les utilisateurs peuvent visualiser et vérifier le code source des contrats déployés, consulter les fonctions disponibles, et exécuter des transactions pour appeler ces fonctions. Par exemple, ils peuvent interroger l’état d’un contrat, envoyer des transactions pour modifier cet état, ou interagir avec des tokens ERC-20 ou ERC-721. 

Analyse des tokens

Les explorers de blockchain permettent également de suivre et d’analyser les tokens déployés sur la blockchain, en particulier ceux basés sur des standards comme ERC-20 et ERC-721. Les utilisateurs peuvent voir les détails des tokens, y compris le nombre total de tokens émis, les détenteurs principaux, les transactions de wallets à wallets ou celles effectuées via des DEX, les swaps et la distribution des tokens. 

Statistiques et graphiques

Pour une compréhension approfondie de l’activité du réseau, les explorers de blockchain offrent des statistiques et des graphiques détaillés. Ces outils visuels peuvent inclure des graphiques sur le taux de hachage du réseau, les volumes de transaction, les frais de transaction moyens, et la distribution des tokens parmi les adresses etc.

Exemple d’explorers populaires

Pour la blockchain Bitcoin : blockchain.com

Ethereum : etherscan.io

Binance Smart Chain : bscscan.com

Polygon (Matic) : polygonscan.com

Solana : solscan.io

Cardano : cardanoscan.io

Avalanche : avascan.info

Fantom : ftmscan.com

Il existe également des explorers multi-chain qui ne sont pas dédiés à un réseau particulier, tel que https://blockchair.com/ par exemple.

Utilisation pratique

Vérification d’une transaction

Supposons que vous avez envoyé des crypto-monnaies à un ami et que vous souhaitez confirmer que la transaction a été traitée correctement. Voici comment procéder avec Etherscan :

-Rechercher l’ID de la transaction : entrez l’ID de la transaction (TXID) dans la barre de recherche en haut de la page. Vous pouvez obtenir l’ID de la transaction depuis votre portefeuille de crypto-monnaies.

-Visualiser les détails : une fois l’ID de la transaction saisi, Etherscan affichera les détails de la transaction, y compris l’adresse de l’expéditeur, l’adresse du destinataire, le montant transféré, les frais de transaction, et l’état de confirmation. Cela vous permet de vérifier que la transaction a bien été enregistrée sur la blockchain.

Consultation d’une adresse de portefeuille

Pour consulter les soldes et l’historique des transactions d’une adresse de portefeuille, voici comment faire avec Blockchain.com :

-Rechercher une adresse de portefeuille : entrez l’adresse du portefeuille que vous souhaitez consulter dans la barre de recherche.

-Visualiser les détails : la page de l’adresse affichera le solde actuel du portefeuille, ainsi que l’historique complet des transactions entrantes et sortantes. Vous pouvez voir toutes les transactions associées à cette adresse, leur montant, et leur date.

Interaction avec les smart contracts

Une des fonctionnalités avancées des explorers comme Etherscan est la possibilité d’interagir avec les contrats intelligents et en utilisant le langage de programmation Solidity. Supposons que vous souhaitez interagir avec un contrat intelligent pour vérifier l’état d’une fonction ou exécuter une transaction :

-Accéder à l’onglet “Contract” : recherchez l’adresse d’un smart contract ou d’un token sur Etherscan et accédez à la page du contrat. Cliquez sur l’onglet “Contract”.

-Lire les données du contrat : sous l’onglet “Read Contract”, vous pouvez exécuter des fonctions de lecture pour interroger l’état du contrat. Par exemple, vous pouvez vérifier le solde de tokens d’une adresse en utilisant la fonction balanceOf.

-Écrire dans le contrat : sous l’onglet “Write Contract”, vous pouvez exécuter des fonctions d’écriture pour modifier l’état du contrat. Pour ce faire, vous devez être connecté avec un portefeuille Ethereum comme MetaMask. Par exemple, vous pouvez transférer des tokens en utilisant la fonction transfer.

Les fonctions indispensables

approve : permet à une adresse de dépenser un certain montant de tokens au nom du propriétaire. C’est couramment utilisé pour permettre aux contrats décentralisés (dApps) de gérer des tokens pour l’utilisateur :

function approve(address spender, uint256 amount) public returns (bool)

transferFrom : permet de transférer des tokens d’une adresse à une autre, en utilisant l’allocation précédemment définie par la fonction approve :

function transferFrom(address sender, address recipient, uint256 amount) public returns (bool)

mint : permet de créer de nouveaux tokens et de les ajouter à l’offre totale. Elle est généralement restreinte aux seuls rôles d’administrateurs ou de contrats spécifiques :

function mint(address to, uint256 amount) public

burn : permet de détruire des tokens, réduisant ainsi l’offre totale. Elle est souvent utilisée pour des mécanismes de réduction de l’inflation :

function burn(uint256 amount) public

 

setApprovalForAll : permet d’approuver / révoquer l’approbation d’un opérateur pour gérer tous les tokens d’un utilisateur :

function setApprovalForAll(address operator, bool approved) public

createAuction : dans le cas de contrats spécifiques comme des places de marché NFT, cette fonction permet de créer une nouvelle enchère pour un token :

function createAuction(uint256 tokenId, uint256 startingBid) public

stake : utilisé dans les contrats DeFi, cette fonction permet aux utilisateurs de déposer des tokens dans un contrat pour des intérêts ou des récompenses :

function stake(uint256 amount) public

unstake : permet de retirer les tokens précédemment mis en jeu (staked) ainsi que les récompenses accumulées :

function unstake(uint256 amount) public