A tiny library to get ERC-20 token balances on EVM blockchains. It uses an aggregate function to fetch ERC20 token balances from multiple smart contracts in a single batch using the Multicall contract.
npm install @hzhu/eth-balances
Note: This package requires Ethers to be installed in order to work.
import { JsonRpcProvider } from "ethers";
import { getTokenBalances } from "@hzhu/eth-balances";
const provider = new JsonRpcProvider(`https://YOUR-ETHEREUM-RPC-URL`);
const addressOrName = "henryzhu.eth";
const contractAddresses = [
"0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72",
"0xE41d2489571d322189246DaFA5ebDe1F4699F498",
];
const balances = await getTokenBalances({
provider,
addressOrName,
contractAddresses,
});
console.log(balances);
The /examples
folder in this repository provides development examples for web browser and NodeJS usage.
- Clone the repository
- Run
npm install
- Run
npm run web:example
for the web browser example - Run
npm run node:example
for the NodeJS example
Contributions are welcomed! Please follow the contributing guidelines.