Ga naar de hoofdinhoud

Toegang krijgen tot de Bitcoin-mempool

Bijgewerkt op
26 november 2025

Leestijd: 7 min.

Overzicht

Bitcoin is de grondlegger van de blockchaintechnologie. Met Bitcoin brak een nieuw tijdperk van blockchain en decentralisatie aan. Dankzij Bitcoin kan iedereen nu gebruikmaken van de peer-to-peer-transacties die we tegenwoordig zo waarderen; in deze handleiding leer je hoe je deze transacties uit de Bitcoin-mempool kunt ophalen.

Vereisten:

  • Terminal/cmd (CLI).
  • Bitcoin-knooppunt.
  • Liefde voor decentralisatie.

Wat is de Bitcoin-mempool?

De transacties die via het Bitcoin-netwerk worden verzonden, worden niet direct aan de blockchain toegevoegd. Alle geldige transacties moeten eerst in een wachtrij terechtkomen voordat ze in een blok worden opgenomen. Deze wachtrij staat bekend als de mempool. Als de mempool groot is, duidt dit op veel verkeer op het netwerk, wat leidt tot langere bevestigingstijden voor transacties en hogere transactiekosten.

Opmerking: In de gangbare praktijk verwijst ‘Bitcoin’ naar het protocol of netwerk, terwijl ‘bitcoin’ of ‘BTC’ de munteenheid is.

De transactiekosten voor Bitcoin worden uitgedrukt in het aantal satoshi’s dat per byte van de transactie wordt betaald. Een satoshi is de kleinste eenheid van de eigen valuta ‘bitcoin’ van het Bitcoin-netwerk, waarbij 1 bitcoin gelijk staat aan 100 miljoen satoshi’s. Miners geven voorrang aan transacties in de mempool met hoge transactiekosten. Maar sinds de SegWit-upgrade zijn er een paar dingen veranderd rondom Bitcoin-transacties. Er werd een nieuw type transactie geïntroduceerd, de zogenaamde SegWit-transactie, om het aantal transacties per Bitcoin-blok te verhogen. Dit loste twee problemen op: 1. Het verhoogde het aantal transacties per seconde op Bitcoin, 2. Het loste het probleem van transactievervormbaarheid op.

Vóór SegWit werden blokken en transacties gemeten in bytes, en elk blok was beperkt tot 1 MB (megabyte) of 1 miljoen bytes. Na SegWit worden transacties en blokken gemeten in gewichtseenheden; deze gewichtseenheden worden gebruikt om Bitcoin-gegevens te meten en transacties te vergelijken.

Het volgende begrip dat we zullen bespreken is vByte. Een vByte komt overeen met vier gewichtseenheden. Bij een traditionele transactie neemt één byte aan gegevens 1 vByte (4 gewichtseenheden) in beslag. Bij een SegWit-transactie daarentegen neemt één byte aan gegevens slechts 1/4 vByte (1 gewichtseenheid) in beslag. Dankzij deze besparing kunnen de blokken met vier keer zoveel transacties worden gevuld. De huidige blokgrootte van Bitcoin is beperkt tot 1 vMegabyte / 1 miljoen vByte / 4 miljoen gewichtseenheden. De meeste wallets berekenen transactiekosten in satoshi’s per vByte, die worden betaald per vByte aan gebruikte gegevens.

Toepassingen van Bitcoin-mempool-analyse:

Door de mempool te analyseren, krijgen we inzicht in de congestie en het verkeer op het netwerk, wat ons uiteindelijk helpt bij het berekenen van de transactiekosten.

Laten we nu de mempool openen en wat transactiegegevens uit de pool ophalen.

Een Quicknode Bitcoin-eindpunt instellen

Voor ons doel van vandaag hebben we een Bitcoin-node nodig om toegang te krijgen tot de blockchain-gegevens. Het opzetten van een eigen node zou hier erg duur en tijdrovend zijn, gezien de enorme hoeveelheid gegevens op Bitcoin. In plaats daarvan maken we hier een gratis Quicknode-account aan, waarmee we eenvoudig een Bitcoin-eindpunt kunnen aanmaken.

Screenshot van het Quicknode Bitcoin-eindpunt

Kopieer de HTTPS-URL van je node en sla deze op, want je hebt deze later nodig.

Toegang krijgen tot de Bitcoin-mempool / Hoe je lopende transacties van Bitcoin kunt opvragen

We gaan Bitcoin RPC-methoden gebruiken om mempool-gegevens op te halen, met name de methode `getrawmempool `. Open Terminal/cmd en kopieer en plak het volgende:

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

Vervang QUICKNODE_BITCOIN_URL door de HTTPS-URL van je Bitcoin-node, die we in de vorige stap hebben opgehaald. Hierboven zie je een cURL-verzoek aan onze node, samen met de methode `getrawmempool`. 

De uitvoer zou er ongeveer zo uit moeten zien.

Laten we nu eens kijken naar de inhoud van de uitvoer. De bovenstaande methode geeft een lijst weer van transacties die momenteel in de mempool staan te wachten. We zullen één transactie eruit halen en elk veld afzonderlijk bekijken.

{
"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
}
}
}

Toelichting bij de bovenstaande JSON-uitvoer:

Regel 3: Dit is het transactie-ID waarmee een transactie op de blockchain wordt geïdentificeerd.

Regel 4-9: Specificatie van de transactiekosten.

Regel 10: Omvang van de transactie volgens BIP 141.

Regel 11: Transactiekosten in BTC (bitcoin).

Regel 12: Transactiekosten waarbij de kostenverschillen worden gebruikt om de prioriteit bij het minen te bepalen.

Regel 13: Het tijdstip waarop de transactie in de pool is opgenomen, uitgedrukt in seconden sinds 1 januari 1970 GMT.

Regel 14: Hoogte van de blockchain (laatste blok) op het moment dat de transactie in de pool werd opgenomen.

Regel 15: Aantal afgeleide transacties in de mempool, inclusief deze.

Regel 16: Omvang van alle afgeleide transacties in de mempool.

Regel 17: Aangepaste vergoedingen van alle afgeleide transacties in de mempool.

Regel 18: Aantal voorgaande transacties in de mempool, inclusief deze.

Regel 19: Omvang van alle voorgaande transacties in de mempool.

Regel 20: Aangepaste vergoedingen van alle voorgaande transacties in de mempool.

Regel 21: Transactie-ID samen met getuigengegevens.

Regel 22: Als een onbevestigde transactie als input voor deze transactie wordt gebruikt, moet deze hier worden ingevuld.

Regel 23: Als een andere niet-bevestigde transactie gebruikmaakt van gegevens uit deze transactie, moet dit hier worden vermeld.

Regel 24: Een booleaanse waarde die aangeeft of de transactie op grond van BIP 125 kan worden vervangen.

Om de daadwerkelijke transactiegegevens op te halen, moeten we nu een andere methode gebruiken, namelijk ` getrawtransaction`, die informatie over een bepaalde transactie retourneert. Kopieer en plak het volgende in je terminal/cmd:

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

Vervang QUICKNODE_BITCOIN_URL door de HTTPS-URL van je Bitcoin-node, die we in de vorige stap hebben opgehaald. Hierboven staat een cURL-verzoek aan onze node met de methode `getrawtransaction`. Om dit te verkrijgen, zullen we onze node pingen om de methode op te vragen. We moeten twee parameters doorgeven voor deze methode. De eerste is het transactie-ID van de transactie die moet worden opgevraagd. De tweede is een booleaanse waarde die, indien ingesteld op `false`, een tekenreeks retourneert; anders retourneert deze een JSON-object.

We hebben de tweede parameter ingesteld op ‘true’, dus de uitvoer zou er als volgt uit moeten zien.

Uitleg over het transactieobject is hier geplakt:

Regel 3: Transactie-ID waarmee een transactie op de blockchain wordt geïdentificeerd (zoals opgegeven).

Regel 4: Transactie-hash die is afgeleid van de txid voor witness-transacties.

Regel 5: Omvang van de transactie volgens BIP 141.

Regel 6: Virtuele omvang van de transactie, afgeleid van de omvang van de getuigentransacties.

Regel 7: Het versienummer van de transactie, momenteel 1 of 2. Als dit 2 is, betekent dit dat BIP 68 van toepassing is.

Regel 8: De vergrendelingstijd wordt aangegeven als een bloknummer. Als er een vergrendelingstijd wordt vermeld, kan die transactie pas aan een blok worden toegevoegd als het blok met de vergrendelingstijd is gepasseerd. Als de vergrendelingstijd bijvoorbeeld op 30 is vastgesteld, kunnen miners de transactie pas opnemen nadat bloknummer 30 is gemined.

Regel 9-20: Vin toont de lijst met transacties in de mempool die deze specifieke transactie als invoer gebruikt.

Regel 21-33: Vout toont de lijst met transacties in de mempool, waarbij deze specifieke transactie als invoer wordt gebruikt.

Regel 34: Blok-hash; hier staat ‘null’ omdat de transactie nog niet is bevestigd.

Regel 35: Aantal bevestigingen dat de transactie heeft doorlopen.

Regel 36: Het tijdstip waarop de transactie in de pool is opgenomen, uitgedrukt in seconden sinds 1 januari 1970 GMT.

Regel 37: Het tijdstip waarop het blok waarin de transactie is opgenomen, werd gemined; hier is de waarde null omdat de transactie nog in behandeling is.

Regel 38: Geserialiseerde, hexadecimaal gecodeerde gegevens voor 'txid'

Door de bovenstaande gegevens te analyseren, krijgen we inzicht in de ins en outs van een Bitcoin-transactie. Bitcoin-transacties zijn behoorlijk complex, maar de methode `getrawtransaction` levert de ruwe transactiegegevens op, die overzichtelijk en gemakkelijk te begrijpen zijn.

Conclusie

Gefeliciteerd met het onder de knie krijgen van de Bitcoin-mempool. In deze handleiding hebben we vandaag geleerd wat de Bitcoin-mempool is, waarvoor de Bitcoin-mempool wordt gebruikt, hoe je toegang krijgt tot de Bitcoin-mempool en hoe je lopende Bitcoin-transacties kunt opvragen, en hoe je gegevens over lopende Bitcoin-transacties kunt verkrijgen.

Schrijf je in voor onze nieuwsbrief voor meer artikelen en handleidingen over Ethereum. Als je feedback hebt, neem dan gerust contact met ons op via Twitter. Je kunt ook altijd met ons chatten op onze Discord-communityserver, waar je enkele van de coolste ontwikkelaars tegenkomt die je ooit zult ontmoeten :)

Deel deze gids