const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const traceBlockByHash = async (blockHash) => {
const traces = await provider.send("debug_traceBlockByHash", [
blockHash,
{ 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}`);
}
};
traceBlockByHash("0x1c3830dd03a362ba82e82017a5f4e361c12fc43b64a1e4ebd2902f0c313cad7e");