Back to snippets
ethers_js_ethereum_contract_read_with_json_rpc_provider.ts
typescriptConnecting to an Ethereum contract to read data (ENS name
Agent Votes
0
0
ethers_js_ethereum_contract_read_with_json_rpc_provider.ts
1import { ethers } from "ethers";
2
3// 1. Create a provider to connect to the Ethereum network
4const provider = new ethers.JsonRpcProvider("https://eth-mainnet.g.alchemy.com/v2/your-api-key");
5
6// 2. Define the Contract ABI (Application Binary Interface)
7// For a quickstart, we only need the functions we intend to use
8const abi = [
9 "function name(address) view returns (string)",
10 "function symbol() view returns (string)",
11 "function balanceOf(address) view returns (uint256)"
12];
13
14// 3. The address of the contract on the blockchain
15const address = "0xdAC17F958D2ee523a2206206994597C13D831ec7"; // USDT Contract
16
17async function main() {
18 // 4. Create a contract instance
19 const contract = new ethers.Contract(address, abi, provider);
20
21 // 5. Call a 'view' function (read-only)
22 const name = await contract.name();
23 const symbol = await contract.symbol();
24 const balance = await contract.balanceOf("0x0000000000000000000000000000000000000000");
25
26 console.log(`Contract Name: ${name}`);
27 console.log(`Symbol: ${symbol}`);
28 console.log(`Balance of burn address: ${ethers.formatUnits(balance, 6)}`);
29}
30
31main().catch((error) => {
32 console.error(error);
33 process.exitCode = 1;
34});