イーサリアム資産を探る:ウォレット内のすべての ERC-20 トークンを照会する方法

ブロックチェーンの世界では、自分のウォレットにある ERC-20 トークンの残高を確認するのは比較的簡単です——ウォレットアプリを開くだけで、すべてのインポートしたトークンの残高情報を見ることができます。しかし、他人のアドレスが保有しているトークンを確認する必要があると、問題は複雑になります。特に、相手のウォレットに直接アクセスする権限がない場合はなおさらです。

個人投資家、企業アナリスト、またはブロックチェーン研究者にとって、特定のアドレスのトークン保有データを迅速に取得することは重要な能力です。幸いなことに、現代のブロックチェーンインフラは、任意のイーサリアムアドレスのERC-20トークンの保有状況を効率的に照会できるさまざまなAPIソリューションを提供しています。

この記事では、3つの主要な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');

非同期関数 getERC20Tokens() { { を試す const応答= await axios.get( ' { パラメータ: { chain_id: '1', // イーサリアムメインネット アドレス: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', // サンプルアドレス limit: 5 // 前5つのトークンを返す }, ヘッダー: { 'x-api-key': 'あなたのAPIキー' // 実際のキーに置き換えてください } } ); console.log(JSON.stringify(response.data、null、2)); } キャッチ (error) { console.error('クエリに失敗しました:', error); } }

getERC20Tokens();

クエリ結果を表示する

スクリプトを実行すると、指定したアドレスが保有するERC-20トークンの詳細を表示する、下記のようなJSONレスポンスが表示されます:

{ "データ": [ { "chain_id": "1", "アドレス": "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", "contract_address": "0xc00e94cb662c3520282e6f5717214004a7f26888", "name": "コンパウンド", "シンボル": "コンプ", "小数": 18, "バランス": "10472650474472796", 「balance_in_usd」:0.71 }, ...もっとトークン情報... ] }

レスポンスデータには各トークンのコントラクトアドレス、名称、シンボル、小数位数、残高及び米ドル価値などの重要な情報が含まれています。

Alchemy: プロフェッショナルなブロックチェーン開発プラットフォーム

Alchemyはブロックチェーン開発分野の先進プラットフォームで、ブロックチェーンデータを読み書きするための強力なAPIツールを提供しています。以下はAlchemyを使用してERC-20トークンの残高を照会するための詳細な手順です。

環境準備とアカウント設定

  1. 必要なツールをインストールする

    • Node.js と NPM をインストールする
    • プロジェクトフォルダーを作成し、環境を初期化する
  2. Alchemyアクセス資格情報を取得する

    • Alchemy アカウントを登録する
    • 新しいアプリを作成し、Ethereumメインネットを選択する
    • アプリケーションの HTTP URL と API キーを保存する

プロジェクト設定と開発

プロジェクト構造を作成し、依存関係をインストールします:

バッシュ mkdir eth-balance CDのETHバランス npm init -y npm install alchemy-sdk タッチmain.js

main.js ファイルにクエリコードを書く:

JavaScriptの const { 錬金術、ネットワーク } = require("alchemy-sdk");

// アクセスパラメータを設定する const config = { apiKey: "あなたのAPIキー", ネットワーク:Network.ETH_MAINNET };

const alchemy = 新しいAlchemy(config); constアドレス= "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";

// トークン残高を取得 非同期関数 getTokenBalances() { const balances = await alchemy.core.getTokenBalances(アドレス); console.log( "トークン残高データ:" ); console.log(天びん);

// ゼロ以外の残高のトークンを処理する const nonZeroBalances = balances.tokenBalances.filter(token => { token.tokenBalance を返す !== "0"; });

console.log(このアドレスは、残高がゼロでない ERC-20 トークンの ${nonZeroBalances.length} )を保持します。

// より詳細なトークン情報を取得 nonZeroBalances(のトークン)let { constメタデータ= await alchemy.core.getTokenMetadata(token.contractAddress); console.log( トークン: ${metadata.name}); console.log(シンボル: ${metadata.symbol}); console.log(Balance: ${token.tokenBalance / Math.pow(10, metadata.decimals)}); console.log("-----"); } }

getTokenBalances();

実行クエリと結果分析

スクリプトを実行して結果を確認する:

バッシュ ノード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 の初期化 非同期関数 initMoralis() { Moralis.start({ apiKey: "Простовання прост }); }

// ウォレット内のトークンを照会する 非同期関数 fetchWalletTokens() { initMoralis()を待ちます。

{ を試す constアドレス= "0xd8da6bf26964af9d7eed9e03e53415d37aa96045";

const response = await Moralis.EvmApi.token.getWalletTokenBalances({
  アドレス: アドレス,
  chain: "0x1" // イーサリアムメインネット
});

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

} キャッチ (e) { console.error(e); } }

fetchWalletTokens();

クエリの実行と結果の解析

スクリプトを実行して結果を取得する:

バッシュ ノードmoralis-tokens.js

クエリ結果の例:

jsonの [ { "token_address": "0x4d224452801aced8b2f0aebe155379bb5d594381", "name": "エイプコイン", "symbol": "類人猿", "ロゴ": "", "サムネイル": "", "小数": 18, "残高": "50000000000000000000" }, { "token_address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "name": "ラップドイーサ", "シンボル": "WETH", "logo": null, "サムネイル": null, "小数": 18, "残高": "705000000000000000000" } ]

Moralis API の応答は、名前、シンボル、コントラクトアドレス、ロゴURL、およびトークンの最小単位で表された残高を含む完全なトークン情報を提供します。これらのデータは、資産管理アプリケーション、ポートフォリオ分析ツール、またはブロックチェーンデータ視覚化システムの開発に直接使用できます。

APIサービス機能の比較

| 特長 | チェーンベース | 錬金術 | モラリス | |---------|----------|---------|---------| | 無料枠 | 限定リクエスト数 | 無料プランあり | 無料レベルあり | | チェック速度 | 速い | 非常に速い | 速い | | トークンメタデータ | サポート | 詳細サポート | 包括的サポート | | 歴史データ | 一部サポート | サポート | サポート | | 使いやすさ | 高い | 中程度 | 高い | | 適用シーン | 基礎クエリ | プロフェッショナル開発 | 企業アプリケーション |

この3つのAPIサービスを通じて、開発者や研究者は、任意のイーサリアムアドレスのERC-20トークン保有情報を簡単に取得でき、資産分析、取引監視、税務計算などのアプリケーションシーンに信頼できるデータサポートを提供します。具体的なニーズや技術の好みに応じて、最適なツールを選択することは、開発効率とユーザー体験の向上に役立ちます。

これらのツールは、開発者がアプリケーションを構築するだけでなく、投資家に重要な資産の透明性を提供し、ブロックチェーンの世界における資産の分布状況をより良く理解するのに役立ちます。研究目的であれ、実際のアプリケーションのニーズであれ、これらのAPIの使用方法を習得することは、あなたのブロックチェーンの旅に便利さを加えるでしょう。

ETH-0.98%
COMP-1.4%
APE1.95%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)