找回密码
 立即注册
搜索
热搜: GTokenTool
查看: 108|回复: 1

获取erc20地址所持有的所有币种

[复制链接]

212

主题

211

回帖

1228

积分

管理员

积分
1228
发表于 2025-6-30 18:44:45 | 显示全部楼层 |阅读模式
获取erc20地址所持有的所有币种

212

主题

211

回帖

1228

积分

管理员

积分
1228
 楼主| 发表于 2025-6-30 18:45:33 | 显示全部楼层
要获取一个以太坊地址持有的所有ERC20代币,有几种方法可以实现:
方法一:使用区块链浏览器

    • 输入地址后,点击"Token"标签页
    • 可以查看该地址持有的所有ERC20代币及其余额

    • 专门用于查看地址的Token持有情况
    • 提供更详细的代币信息


方法二:使用API
  • Etherscan API
    javascript



    // 获取地址的ERC20代币余额const apiKey = 'YOUR_API_KEY';const address = '0x...';const url = `https://api.etherscan.io/api?mod ... okentx&address=${address}&startblock=0&endblock=99999999&sort=asc&apikey=${apiKey}`;fetch(url)  .then(response => response.json())  .then(data => console.log(data.result));

  • Alchemy/Infura API
    javascript



    const { Alchemy, Network } = require("alchemy-sdk");const config = {  apiKey: "YOUR_API_KEY",  network: Network.ETH_MAINNET,};const alchemy = new Alchemy(config);async function getTokenBalances(address) {  const balances = await alchemy.core.getTokenBalances(address);  console.log(balances);}


方法三:使用Web3库查询javascript



const Web3 = require('web3');const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_PROJECT_ID');// ERC20标准ABI(简化版)const erc20Abi = [  {    "constant": true,    "inputs": [{"name": "_owner", "type": "address"},    "name": "balanceOf",    "outputs": [{"name": "balance", "type": "uint256"},    "type": "function"  };async function getTokenBalance(tokenContract, userAddress) {  const contract = new web3.eth.Contract(erc20Abi, tokenContract);  const balance = await contract.methods.balanceOf(userAddress).call();  return balance;}// 示例:查询USDT余额const usdtAddress = '0xdac17f958d2ee523a2206206994597c13d831ec7';const userAddress = '0x...';getTokenBalance(usdtAddress, userAddress).then(console.log);


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telegram|手机版|小黑屋|GTokenTool

GMT+8, 2025-9-11 04:11 , Processed in 0.019417 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表