In this step, we will use Ethers.js to query the balance of an ERC-20 token for a specific Ethereum address.
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();