DEV Community

Cover image for Get Pending Transactions in Binance Smart Chain Mempool Using Ether.js and QuickNode
Quoc Huynh Website
Quoc Huynh Website

Posted on

Get Pending Transactions in Binance Smart Chain Mempool Using Ether.js and QuickNode

After a transaction is approved or validated, it moves from the mempool to the blockchain, every transaction goes into a waiting area called the "mempool" before it is confirmed. Watching the mempool helps you see these transactions before they are added to the blockchain. In this guide, I’ll show you how to use Ether.js and QuickNode to get pending transactions from the mempool.

What You Need

  1. QuickNode Binance Smart Chain endpoint.
  2. Installed ethers.js

How to Get Pending Transactions

Step 1: Install library

Install the required packages:

npm install ethers dotenv
Enter fullscreen mode Exit fullscreen mode

Create a .env file and add your QuickNode WebSocket URL:

QUICKNODE_URL=wss://your-quicknode-endpoint
Enter fullscreen mode Exit fullscreen mode

Image description

Step 2: Write code

Create a file named app.js and write this code:

require('dotenv').config();
const { ethers } = require('ethers');

(async () => {
  try {
    // Connect to QuickNode WebSocket
    const provider = new ethers.providers.WebSocketProvider(process.env.QUICKNODE_URL);

    provider.on('pending', async (txHash) => {
      try {
        const tx = await provider.getTransaction(txHash);


        if (tx) {
          console.log(`Hash Transaction: ${txHash}`);
          console.log(`From: ${tx.from}`);
          console.log(`To: ${tx.to}`);
          console.log(`Amount : ${ethers.formatEther(tx.value)} BNB`);
          console.log('-----------------------------');
        }
      } catch (err) {
        console.error(`Error ${txHash}:`, err);
      }
    });
  } catch (err) {
    console.error('Error connecting to QuickNode:', err);
  }
})();
Enter fullscreen mode Exit fullscreen mode

Step 3: Run code

If everything works, you’ll see pending transactions logged in your terminal.

Pending Transaction: 0xabc123...
From: 0x1234abcd...
To: 0x9876efgh...
Amount: 0.5 BNB
-----------------------------
Pending Transaction: 0xdef456...
From: 0xabcd5678...
To: 0xefgh1234...
Amount: 2.0 BNB
-----------------------------
Enter fullscreen mode Exit fullscreen mode

Conclusion

Using Ether.js and QuickNode, you can easily watch Ethereum’s mempool for pending transactions. This is useful for analysis, building bots, or learning more about Ethereum. Try it out and see what you can do!

Contact

Text me when you need to build a bockchain bot
Email: quochbcontact@gmail.com

Top comments (0)