const Web3 = require("web3");
const web3 = new Web3(
  "YOUR_CHAINSTACK_NODE_URL"
);
const address = "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326";
async function getBalanceAtBlock(blockNum) {
  const balanceWei = await web3.eth.getBalance(address, blockNum);
  console.log(
    `Balance at block ${blockNum}: ${web3.utils.fromWei(
      balanceWei,
      "ether"
    )} ETH`
  );
}
async function main() {
  let startBlock = await web3.eth.getBlockNumber();
  startBlock = Number(startBlock);
  const endBlock = startBlock - 500;
  const blockRange = Array.from(
    { length: parseInt(startBlock - endBlock + 1) },
    (_, i) => startBlock - i
  );
  const start = Date.now();
  await Promise.all(blockRange.map((blockNum) => getBalanceAtBlock(blockNum)));
  const end = Date.now();
  console.log(`Time taken: ${(end - start) / 1000} seconds`);
}
main();
.
.
.
Balance at block 17792145: 2.451173468263471373 ETH
Balance at block 17792086: 2.446376092365863362 ETH
Balance at block 17791996: 2.443936685583078803 ETH
Balance at block 17792129: 2.451877320253043218 ETH
Balance at block 17792041: 2.446527070768833423 ETH
Balance at block 17792006: 2.443603660636301311 ETH
Time taken: 2.972 seconds
const Web3 = require("web3");
const web3 = new Web3(
  "YOUR_CHAINSTACK_NODE_URL"
);
const address = "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326";
async function getBalanceAtBlock(blockNum) {
  const balanceWei = await web3.eth.getBalance(address, blockNum);
  console.log(
    `Balance at block ${blockNum}: ${web3.utils.fromWei(
      balanceWei,
      "ether"
    )} ETH`
  );
}
async function main() {
  let startBlock = await web3.eth.getBlockNumber();
  startBlock = Number(startBlock);
  const endBlock = startBlock - 500;
  const blockRange = Array.from(
    { length: parseInt(startBlock - endBlock + 1) },
    (_, i) => startBlock - i
  );
  const start = Date.now();
  await Promise.all(blockRange.map((blockNum) => getBalanceAtBlock(blockNum)));
  const end = Date.now();
  console.log(`Time taken: ${(end - start) / 1000} seconds`);
}
main();
.
.
.
Balance at block 17792145: 2.451173468263471373 ETH
Balance at block 17792086: 2.446376092365863362 ETH
Balance at block 17791996: 2.443936685583078803 ETH
Balance at block 17792129: 2.451877320253043218 ETH
Balance at block 17792041: 2.446527070768833423 ETH
Balance at block 17792006: 2.443603660636301311 ETH
Time taken: 2.972 seconds