Passer au contenu principal

Comment accéder au mempool Bitcoin

Mis à jour le
26 novembre 2025

7 minutes de lecture

Aperçu

Le Bitcoin est à l'origine de la technologie blockchain. C'est avec le Bitcoin qu'a débuté une nouvelle ère marquée par la blockchain et la décentralisation. Le Bitcoin a permis à chacun d'effectuer les transactions entre particuliers dont on profite aujourd'hui ; ce guide vous expliquera comment récupérer ces transactions depuis le mempool du Bitcoin.

Prérequis :

  • Terminal/cmd (interface en ligne de commande).
  • Nœud Bitcoin.
  • L'amour de la décentralisation.

Qu'est-ce que le « mempool » de Bitcoin ?

Les transactions envoyées sur le réseau Bitcoin ne sont pas ajoutées directement à la blockchain. Toutes les transactions valides doivent d'abord passer par une zone d'attente avant d'être intégrées dans un bloc. Cette zone d'attente est appelée « mempool ». Si la taille du mempool est importante, cela indique un trafic élevé sur le réseau, ce qui se traduit par des délais de confirmation plus longs et des frais de transaction plus élevés.

Remarque: en règle générale, « Bitcoin » désigne le protocole ou le réseau, tandis que « bitcoin » ou « BTC » désigne la monnaie.

Les frais de transaction Bitcoin sont exprimés en nombre de satoshis payés par octet de la transaction. Le satoshi est la plus petite unité de la monnaie native du réseau Bitcoin, le bitcoin, où 1 bitcoin = 100 millions de satoshis. Les mineurs donnent la priorité aux transactions du mempool dont les frais sont élevés. Mais depuis la mise à jour SegWit, certains aspects des transactions Bitcoin ont évolué. Elle a introduit un nouveau type de transaction, appelée « transaction SegWit », afin d’augmenter le nombre de transactions par bloc Bitcoin. Elle a résolu deux problèmes : 1. Elle a augmenté le nombre de transactions Bitcoin par seconde ; 2. Elle a résolu le problème de la malléabilité des transactions.

Avant SegWit, les blocs et les transactions étaient mesurés en octets, et chaque bloc était limité à 1 Mo (mégaoctet), soit 1 million d'octets. Depuis l'introduction de SegWit, les transactions et les blocs sont mesurés en unités de poids; ces unités de poids servent à mesurer les données Bitcoin et à comparer les transactions.

Le concept suivant à aborder est le « vByte ». Un vByte équivaut à quatre unités de poids. Un octet de données occupe 1 vByte (4 unités de poids) dans une transaction classique. En revanche, pour une transaction SegWit, un octet de données n’occupe que 1/4 de vByte (1 unité de poids). Cette réduction permet de remplir les blocs avec quatre fois plus de transactions. La taille actuelle d'un bloc Bitcoin est limitée à 1 vMégaoctet / 1 million de vByte / 4 millions d'unités de poids. La plupart des portefeuilles calculent les frais de transaction en satoshis/vByte, qui sont payés par vByte de données utilisées.

Cas d'utilisation de l'analyse du mempool Bitcoin:

L'analyse du mempool nous aide à comprendre l'encombrement et le trafic sur le réseau, ce qui nous permet en fin de compte de calculer les frais de transaction.

Accédons maintenant au mempool et récupérons quelques données relatives aux transactions contenues dans ce pool.

Configuration d'un point de terminaison Bitcoin Quicknode

Pour notre exercice d'aujourd'hui, nous avons besoin d'un nœud Bitcoin afin d'accéder aux données de la blockchain. Mettre en place notre propre nœud ici serait très coûteux et prendrait beaucoup de temps, compte tenu du volume considérable de données sur Bitcoin. Nous allons donc plutôt créer un compte Quicknode gratuit ici, où nous pourrons facilement générer un point de terminaison Bitcoin.

Capture d'écran de l'interface de programmation d'application (API) Bitcoin de Quicknode

Copiez et enregistrez l'URL HTTPS de votre nœud, car vous en aurez besoin plus tard.

Comment accéder au mempool Bitcoin / Comment récupérer les transactions en attente sur Bitcoin

Nous allons utiliser les méthodes RPC de Bitcoin pour récupérer les données du mempool, et plus précisément la méthode `getrawmempool `. Ouvrez le terminal/cmd et copiez-collez ce qui suit :

curl --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "getrawmempool", "params": [true]}' -H 'content-type: application/json' <QUICKNODE_BITCOIN_URL>

Remplacez QUICKNODE_BITCOIN_URL par l'URL HTTPS de votre nœud Bitcoin, que nous avons obtenue à l'étape précédente. Vous trouverez ci-dessus une requête cURL adressée à notre nœud, accompagnée de la méthode getrawmempool. 

Le résultat devrait ressembler à ceci.

Voyons maintenant le contenu de la sortie. La méthode ci-dessus renvoie une liste des transactions en attente qui se trouvent actuellement dans le mempool. Nous allons extraire une seule transaction et passer en revue chacun de ses champs.

{
"result": {
"2d1228abf06836b1173936061fec0384e82e3b684d7950a27f06a06f587400d3": {
"fees": {
"base": 0.00111999,
"modified": 0.00111999,
"ancestor": 0.00111999,
"descendant": 0.00111999
},
"size": 90826,
"fee": 0.00111999,
"modifiedfee": 0.00111999,
"time": 1629052793,
"height": 695936,
"descendantcount": 1,
"descendantsize": 90826,
"descendantfees": 111999,
"ancestorcount": 1,
"ancestorsize": 90826,
"ancestorfees": 111999,
"wtxid": "b3b49bb3dcae483d579710a2e1f9c7ed585ab35e2a8cb941ff8cb27ea8adec20",
"depends": [],
"spentby": [],
"bip125-replaceable": false
}
}
}

Explication du code JSON ci-dessus :

Ligne 3 : Il s'agit de l'identifiant de transaction qui permet d'identifier une transaction sur la blockchain.

Lignes 4 à 9 : Ventilation des frais de transaction.

Ligne 10 : Taille de la transaction conformément au BIP 141.

Ligne 11 : Frais de transaction en BTC (bitcoin).

Ligne 12 : Frais de transaction avec écarts de frais utilisés pour déterminer la priorité de minage.

Ligne 13 : Heure à laquelle la transaction a été enregistrée dans le pool, exprimée en secondes depuis le 1er janvier 1970 (GMT).

Ligne 14 : Hauteur de la blockchain (dernier bloc) au moment où la transaction a été ajoutée au pool.

Ligne 15 : Nombre de transactions descendantes dans le mempool, y compris celle-ci.

Ligne 16 : Taille de toutes les transactions descendantes présentes dans le mempool.

Ligne 17 : Frais modifiés de toutes les transactions descendantes présentes dans le mempool.

Ligne 18 : Nombre de transactions ancestrales présentes dans le mempool, y compris celle-ci.

Ligne 19 : Taille de toutes les transactions ancestrales présentes dans le mempool.

Ligne 20 : Frais modifiés de toutes les transactions ancestrales présentes dans le mempool.

Ligne 21 : identifiant de la transaction ainsi que les données de témoin.

Ligne 22 : Si une transaction non confirmée sert de base à cette transaction, elle doit être indiquée ici.

Ligne 23 : Si une autre transaction non confirmée utilise des données issues de cette transaction, celle-ci doit être indiquée ici.

Ligne 24 : Valeur booléenne indiquant si la transaction peut être remplacée conformément au BIP 125.

Pour récupérer les données réelles de la transaction, nous allons devoir utiliser une autre méthode, `getrawtransaction`, qui renvoie des informations sur une transaction spécifique. Copiez-collez ce qui suit dans votre terminal/cmd :

curl --data-binary '{"jsonrpc": "1.0", "id": "curltest", "method": "getrawtransaction", "params": ["2d1228abf06836b1173936061fec0384e82e3b684d7950a27f06a06f587400d3", true]}' -H 'content-type: application/json' <QUICKNODE_BITCOIN_URL>

Remplacez QUICKNODE_BITCOIN_URL par l'URL HTTPS de votre nœud Bitcoin, que nous avons obtenue à l'étape précédente. Ci-dessus figure une requête cURL adressée à notre nœud, accompagnée de la méthode `getrawtransaction`. Pour l'obtenir, nous allons envoyer une requête ping à notre nœud afin de résoudre cette méthode. Nous devons transmettre deux paramètres à cette méthode. Le premier est l'identifiant de la transaction à interroger. Le second est une valeur booléenne qui, si elle est définie sur `false`, renvoie une chaîne de caractères ; dans le cas contraire, elle renvoie un objet JSON.

Nous avons défini le deuxième paramètre sur « true » ; le résultat devrait donc ressembler à ceci.

Explication de l'objet de transaction copiée ici:

Ligne 3 : identifiant de transaction permettant d'identifier une transaction sur la blockchain (tel qu'indiqué).

Ligne 4 : Hachage de la transaction, dérivé du txid pour les transactions témoins.

Ligne 5 : Taille de la transaction conformément au BIP 141.

Ligne 6 : Taille virtuelle de la transaction, calculée à partir de la taille des transactions témoins.

Ligne 7 : Numéro de version de la transaction, actuellement 1 ou 2. Si ce numéro est égal à 2, cela signifie que le BIP 68 s'applique.

Ligne 8 : La durée de verrouillage est indiquée sous la forme d'un numéro de bloc. Si une durée de verrouillage est mentionnée, la transaction ne peut être ajoutée à un bloc que si ce numéro de bloc a été dépassé. Par exemple, si la durée de verrouillage est fixée à 30, les mineurs ne peuvent intégrer la transaction qu'une fois que le bloc numéro 30 a été miné.

Lignes 9 à 20 : Vin affiche la liste des transactions présentes dans le mempool que cette transaction utilise comme données d'entrée.

Lignes 21 à 33 : Vout affiche la liste des transactions présentes dans le mempool en utilisant cette transaction spécifique comme entrée.

Ligne 34 : Hachage du bloc ; valeur nulle ici, car la transaction n'est pas encore confirmée.

Ligne 35 : nombre de confirmations reçues par la transaction.

Ligne 36 : Heure à laquelle la transaction a été enregistrée dans le pool, exprimée en secondes depuis le 1er janvier 1970 (GMT).

Ligne 37 : Heure à laquelle le bloc dans lequel la transaction a été ajoutée a été miné ; cette valeur est nulle ici, car la transaction est en attente.

Ligne 38 : Données sérialisées et encodées en hexadécimal pour « txid »

L'analyse des données ci-dessus nous permet de comprendre les tenants et aboutissants d'une transaction Bitcoin. Les transactions Bitcoin sont assez complexes, mais la méthode `getrawtransaction` fournit les informations brutes de la transaction, qui sont faciles à consulter et à comprendre.

Conclusion

Félicitations, vous maîtrisez désormais le mempool Bitcoin. Dans ce guide, nous avons découvert ce qu’est le mempool Bitcoin, à quoi il sert, comment y accéder et comment obtenir les transactions Bitcoin en attente, ainsi que les données relatives à ces transactions.

Abonnez-vous à notre newsletter pour découvrir d'autres articles et guides sur Ethereum. Si vous avez des commentaires, n'hésitez pas à nous contacter sur Twitter. Vous pouvez également discuter avec nous sur notre serveur Discord, où vous rencontrerez certains des développeurs les plus géniaux qui soient :)

Partager ce guide