Blockchain Development Programming Tutorials, Guides & Best Practices
Explore 30+ expertly crafted blockchain development tutorials, components, and code examples. Stay productive and build faster with proven implementation strategies and design patterns from DeveloperBreeze.
Adblocker Detected
It looks like you're using an adblocker. Our website relies on ads to keep running. Please consider disabling your adblocker to support us and access the content.
Tutorial
How to Query ERC-20 Token Balances and Transactions Using Ethers.js and Etherscan API
const ethers = require('ethers');
// Replace with your Infura or other Ethereum node provider URL
const provider = new ethers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
// Replace with the ERC-20 token contract address (e.g., USDT, DAI)
const contractAddress = '0xTokenContractAddress';
// Replace with the wallet address you want to query
const walletAddress = '0xYourEthereumAddress';
// ERC-20 token ABI (just the balanceOf function)
const abi = [
'function balanceOf(address owner) view returns (uint256)'
];
// Create a contract instance
const contract = new ethers.Contract(contractAddress, abi, provider);
async function getTokenBalance() {
try {
// Query the balance
const balance = await contract.balanceOf(walletAddress);
// Convert balance to a human-readable format (tokens usually have 18 decimals)
const formattedBalance = ethers.utils.formatUnits(balance, 18);
console.log(`Token Balance: ${formattedBalance}`);
} catch (error) {
console.error('Error fetching token balance:', error);
}
}
// Call the function to get the token balance
getTokenBalance();- Contract Address: Replace
'0xTokenContractAddress'with the address of the ERC-20 token (e.g., USDT, DAI, or any other ERC-20 token). - Wallet Address: Replace
'0xYourEthereumAddress'with the wallet address whose token balance you want to query. - ABI: We are using a minimal ABI with just the
balanceOffunction, which is all that’s required to query the token balance.
Oct 24, 2024
Read More