const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const traceBlock = async (blockNumber) => {
const traces = await provider.send("debug_traceBlockByNumber", [
blockNumber,
{ tracer: "callTracer" }
]);
console.log(`Block contains ${traces.length} transaction traces`);
for (let i = 0; i < traces.length; i++) {
const trace = traces[i].result;
console.log(`\nTx ${i}: ${trace.from} -> ${trace.to}`);
console.log(` Type: ${trace.type}, Gas Used: ${trace.gasUsed}`);
if (trace.calls) {
console.log(` Internal calls: ${trace.calls.length}`);
}
}
};
traceBlock("latest");