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
- QuickNode Binance Smart Chain endpoint.
- Installed ethers.js
How to Get Pending Transactions
Step 1: Install library
Install the required packages:
npm install ethers dotenv
Create a .env file and add your QuickNode WebSocket URL:
QUICKNODE_URL=wss://your-quicknode-endpoint
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);
}
})();
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
-----------------------------
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)