探索以太坊資產:如何查詢錢包內所有 ERC-20 代幣

在區塊鏈世界中,查看自己錢包中的 ERC-20 代幣餘額相對簡單——只需打開錢包應用,就能看到所有導入代幣的餘額信息。然而,當我們需要查詢他人地址持有的代幣時,問題就變得復雜了,尤其是在沒有直接訪問對方錢包權限的情況下。

對於個人投資者、企業分析師或區塊鏈研究人員來說,快速獲取特定地址的代幣持倉數據是一項重要能力。幸運的是,現代區塊鏈基礎設施提供了多種 API 解決方案,讓我們能夠高效查詢任何以太坊地址的 ERC-20 代幣持倉情況。

本文將詳細介紹三種主流 API 服務——Chainbase、Alchemy 和 Moralis,它們各自提供了查詢特定地址 ERC-20 代幣的專業解決方案。我們將以開發者友好的方式,展示如何通過這些工具實現資產查詢功能。

Chainbase: 區塊鏈數據查詢的高效之選

Chainbase 是一款強大的 Web3 區塊鏈交互層基礎設施,其 API 服務能幫助開發者快速訪問和利用區塊鏈數據。通過簡單步驟,我們就能查詢任意地址的代幣持倉情況。

帳戶設置與準備工作

  1. 創建帳戶與獲取 API 密鑰

    • 訪問 Chainbase 官網註冊免費帳戶
    • 登入後進入控制臺,創建新項目
    • 獲取並保存 API 密鑰,這是後續查詢的必要憑證
  2. 開發環境準備

    • 確保您的開發環境已安裝 Node.js
    • 使用 npm 安裝 Axios 庫:npm install axios --save

實現查詢功能

使用 JavaScript 與 Chainbase API 交互,獲取指定地址的 ERC-20 代幣餘額:

javascript const axios = require('axios');

async function getERC20Tokens() { try { const response = await axios.get( ' { params: { chain_id: '1', // 以太坊主網 address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', // 示例地址 limit: 5 // 返回前5個代幣 }, headers: { 'x-api-key': '您的API密鑰' // 替換爲您的實際密鑰 } } ); console.log(JSON.stringify(response.data, null, 2)); } catch (error) { console.error('查詢失敗:', error); } }

getERC20Tokens();

查看查詢結果

運行腳本後,您將看到類似下方的 JSON 響應,顯示指定地址持有的 ERC-20 代幣詳情:

{ "data": [ { "chain_id": "1", "address": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", "contract_address": "0xc00e94cb662c3520282e6f5717214004a7f26888", "name": "Compound", "symbol": "COMP", "decimals": 18, "balance": "10472650474472796", "balance_in_usd": 0.71 }, ...更多代幣信息... ] }

響應數據包含每個代幣的合約地址、名稱、符號、小數位數、餘額及美元價值等關鍵信息。

Alchemy: 專業的區塊鏈開發平台

Alchemy 是區塊鏈開發領域的領先平台,提供強大的 API 工具來讀取和寫入區塊鏈數據。以下是通過 Alchemy 查詢 ERC-20 代幣餘額的詳細步驟:

環境準備與帳戶設置

  1. 安裝必要工具

    • 安裝 Node.js 和 NPM
    • 創建項目文件夾並初始化環境
  2. 獲取 Alchemy 訪問憑證

    • 註冊 Alchemy 帳戶
    • 創建新應用,選擇以太坊主網
    • 保存應用的 HTTP URL 和 API 密鑰

項目設置與開發

創建項目結構並安裝依賴:

bash mkdir eth-balance cd eth-balance npm init -y npm install alchemy-sdk touch main.js

在 main.js 文件中編寫查詢代碼:

javascript const { Alchemy, Network } = require("alchemy-sdk");

// 配置訪問參數 const config = { apiKey: "您的API密鑰", network: Network.ETH_MAINNET };

const alchemy = new Alchemy(config); const address = "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";

// 獲取代幣餘額 async function getTokenBalances() { const balances = await alchemy.core.getTokenBalances(address); console.log("代幣餘額數據:"); console.log(balances);

// 處理非零餘額的代幣 const nonZeroBalances = balances.tokenBalances.filter(token => { return token.tokenBalance !== "0"; });

console.log(該地址持有 ${nonZeroBalances.length} 種非零餘額的ERC-20代幣);

// 獲取更詳細的代幣信息 for (let token of nonZeroBalances) { const metadata = await alchemy.core.getTokenMetadata(token.contractAddress); console.log(代幣: ${metadata.name}); console.log(符號: ${metadata.symbol}); console.log(餘額: ${token.tokenBalance / Math.pow(10, metadata.decimals)}); console.log("-----"); } }

getTokenBalances();

運行查詢與結果分析

執行腳本查看結果:

bash node main.js

查詢結果將展示詳細的代幣信息,包括:

  • 代幣名稱和符號
  • 合約地址
  • 格式化後的餘額數量
  • 代幣元數據(如小數位數)

Alchemy 的優勢在於它不僅提供了基礎的餘額查詢,還支持元數據獲取、代幣過濾和餘額格式化等高級功能,讓開發者能輕鬆構建完整的資產管理功能。

Moralis: 企業級 Web3 API 服務

Moralis 提供了功能全面的 Web3 API 工具集,幫助開發者輕鬆實現區塊鏈功能集成。使用 Moralis 查詢 ERC-20 代幣餘額的步驟如下:

前期準備工作

  1. 環境配置

    • 安裝 Node.js v14+ 和 NPM
    • 設置系統環境變量
  2. 獲取 API 密鑰

    • 創建 Moralis 帳戶
    • 登入後在"設置">"祕密"中找到"Web3 API 密鑰"
    • 復制密鑰備用

代碼實現

創建一個新的 JavaScript 文件,編寫以下代碼:

javascript const Moralis = require("moralis").default;

// 初始化 Moralis async function initMoralis() { await Moralis.start({ apiKey: "您的API密鑰" }); }

// 查詢錢包中的代幣 async function fetchWalletTokens() { await initMoralis();

try { const address = "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";

const response = await Moralis.EvmApi.token.getWalletTokenBalances({
  address: address,
  chain: "0x1" // 以太坊主網
});

console.log(JSON.stringify(response.toJSON(), null, 2));

} catch (e) { console.error(e); } }

fetchWalletTokens();

執行查詢與結果解析

運行腳本獲取結果:

bash node moralis-tokens.js

查詢結果示例:

json [ { "token_address": "0x4d224452801aced8b2f0aebe155379bb5d594381", "name": "ApeCoin", "symbol": "APE", "logo": "", "thumbnail": "", "decimals": 18, "balance": "5000000000000000000" }, { "token_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "name": "Wrapped Ether", "symbol": "WETH", "logo": null, "thumbnail": null, "decimals": 18, "balance": "7050000000000000000" } ]

Moralis API 的響應提供了完整的代幣信息,包括名稱、符號、合約地址、徽標URL以及按照代幣最小單位表示的餘額。這些數據可以直接用於開發資產管理應用、投資組合分析工具或區塊鏈數據可視化系統。

API 服務功能對比

| 功能特性 | Chainbase | Alchemy | Moralis | |---------|----------|---------|---------| | 免費額度 | 有限請求次數 | 有免費套餐 | 有免費層級 | | 查詢速度 | 快速 | 極快 | 快速 | | 代幣元數據 | 支持 | 詳細支持 | 全面支持 | | 歷史數據 | 部分支持 | 支持 | 支持 | | 易用性 | 較高 | 中等 | 高 | | 適用場景 | 基礎查詢 | 專業開發 | 企業應用 |

通過這三種 API 服務,開發者和研究人員可以輕鬆獲取任何以太坊地址的 ERC-20 代幣持倉信息,爲資產分析、交易監控、稅務計算等應用場景提供可靠的數據支持。根據具體需求和技術偏好,選擇最適合的工具將有助於提升開發效率和用戶體驗。

這些工具不僅方便開發者構建應用,也爲投資者提供了重要的資產透明度,幫助他們更好地了解區塊鏈世界中的資產分布情況。無論是出於研究目的還是實際應用需求,掌握這些 API 的使用方法都將爲您的區塊鏈之旅增添一份便利。

ETH-0.98%
COMP-1.4%
APE1.95%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
  • 置頂
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)