メインコンテンツまでスキップ

トークンの検出とエクスプローラーAPI

Pali はエクスプローラー API を使い、インポートできるトークンや NFT を検出できます。コントラクトアドレスからアセットを追加することもできます。インポート済みトークンの残高はネットワークの RPC 経由で読み取るため、自動検出は必須ではありません。

デフォルトの対応状況​

ネットワーク自動検出アセットが見つからない場合
Ethereum メインネットRoutescan を使用します。アカウントや API キーは不要です。ERC-20 トークンと、対応する ERC-721/ERC-1155 の保有アセットを検出できます。トークンインポート → カスタム追加を使用します。
Baseデフォルトの検出 API は設定されていません。ネットワークと RPC は引き続き利用できます。コントラクトアドレスから追加するか、アクセス権のある互換エクスプローラー API を設定します。
Arbitrum Oneデフォルトの検出 API は設定されていません。ネットワークと RPC は引き続き利用できます。コントラクトアドレスから追加するか、アクセス権のある互換エクスプローラー API を設定します。
その他の EVM ネットワークそのネットワークに設定されたエクスプローラー API によって異なります。検出機能を利用できない場合はコントラクトアドレスからアセットを追加します。

エクスプローラー API が設定されていない場合、Pali はタブを表示せず、コントラクトアドレスの入力フォームを直接表示します。短い案内とトークンのインポートに関するヘルプのリンクも表示します。API URL を空にしても、ネットワークやインポート済みアセットは削除されません。エクスプローラー API がない場合、取引履歴にはローカルに保存された取引と RPC の読み取りを使用するため、過去の履歴をすべて復元できないことがあります。

トークンや NFT を手動で追加する​

  1. 正しいネットワークとアカウントを選択します。
  2. トークンインポートを開きます。タブが表示されている場合はカスタム追加を選択します。
  3. そのネットワーク上のアセットのコントラクトアドレスを入力します。
  4. 検出されたアセットの詳細を確認します。ERC-1155 アセットの場合はトークン ID も入力します。
  5. アセットをインポートします。

プロジェクトが公開しているアドレス、または信頼できるエクスプローラーに表示されたアドレスを使用してください。無関係なコントラクトが同じトークン名を使う場合があり、同じアドレスでも別のネットワークでは異なるアセットを指すことがあります。

エクスプローラー API を設定する​

RPC URL、エクスプローラーのウェブサイト、エクスプローラー API URL はそれぞれ用途が異なります。RPC は Pali をネットワークに接続し、ウェブサイトはブラウザーでアドレスや取引を表示します。エクスプローラー API は、インデックス化された保有アセットや取引履歴を提供します。

  1. Pali のネットワーク選択メニューを開き、ネットワークを管理を選択します。
  2. 編集する EVM ネットワークの横にある鉛筆アイコンを選択します。
  3. **ブロックエクスプローラー API URL(オプション)**を探し、下の例から適切な API URL を貼り付けます。RPC URL とチェーン ID も変更する意図がない限り、既存の値はそのままにします。
  4. 保存を選択します。Pali は保存前に RPC とエクスプローラー API への基本的なアクセスを確認します。この確認に成功しても、すべての検出・履歴エンドポイントへの対応が保証されるわけではありません。
  5. 別のネットワークに切り替えてから、編集したネットワークに戻ります。これにより、使用中の API 設定が更新されます。トークンインポート → あなたのトークンを開き直すと、新しい API で保有アセットを読み込めます。

新しいネットワークを追加する場合は、ネットワーク選択メニューでカスタム RPCを選択します。このフォームにも同じ任意のエクスプローラー API 欄があります。ネットワークのインデックスによる検出を無効にするには、この欄を空にして保存します。

対応形式と URL の例​

Ethereum:Routescan​

組み込みの Ethereum API URL は次のとおりです。

https://api.routescan.io/v2/network/mainnet/evm/1/etherscan/api

キーを付けずに公開 API へアクセスできます。Pali は検出に Routescan の保有アセット API を、取引履歴に Etherscan 互換 API を使用します。プロバイダーのインデックスは不完全な場合や更新が遅れる場合があります。この URL のチェーン番号を変更するだけでは、Routescan が別のネットワークに対応しているとは判断できません。対象範囲とエンドポイントはRoutescan の API リファレンスを参照してください。

Routescan の現在のドキュメントでは、キーなしの利用制限は毎秒 2 リクエスト、1 日 10,000 回の呼び出しです。Pali はリクエスト間隔を調整し、結果をキャッシュしますが、プロバイダーの制限は引き続き適用されます。Routescan の現在の制限とプランを確認してください。

個人の Routescan API キーを使うには、次の YOUR_API_KEY を置き換えます。

https://api.routescan.io/v2/network/mainnet/evm/1/etherscan/api?apikey=YOUR_API_KEY

Pali はこの値をプロバイダーの apikey リクエストヘッダーで送信します。利用しているプランの制限が適用されます。

Blockscout 互換の検出​

Pali は Blockscout の account/tokenlist リクエスト形式を実装したエクスプローラー API にも対応します。API のベース URL と、必要なチェーン選択パラメーターや API キーを設定してください。アカウントアドレスと検出用リクエストパラメーターは Pali が付加します。Blockscout のトークン一覧ドキュメントを参照してください。

例えば、自分で運用する Blockscout API や、プロバイダーが対応する Blockscout API には次の形式を使用できます。

https://YOUR_BLOCKSCOUT_HOST/api

プロバイダーがクエリパラメーターによる認証を必要とする場合は、次の形式です。

https://YOUR_BLOCKSCOUT_HOST/api?apikey=YOUR_API_KEY

上記のホスト名とキーは置き換え用の例です。選択したネットワークに対応し、リクエストが許可されるサービスを使用してください。エクスプローラーのウェブサイト URL だけでは利用できません。

Baseについて、Blockscout は次の PRO API 形式を案内しています。

https://api.blockscout.com/v2/api?chain_id=8453&apikey=YOUR_API_KEY

Blockscout の Base API には、アクセス権のあるキーと有料プランが必要です。Blockscout の開発者ポータルでキーを取得し、プランのネットワークアクセス権を確認してから YOUR_API_KEY を置き換えてください。チェーン選択パラメーターはアンダースコア付きの chain_id です。この例は公式の Base API ドキュメントに基づくもので、キーなしで使える公開 API の代替ではありません。

Arbitrum Oneのチェーン選択パラメーターの値は 42161 です。

https://api.blockscout.com/v2/api?chain_id=42161&apikey=YOUR_API_KEY

この設定を使う前に、Arbitrum へのアクセス権とエンドポイントへの対応を Blockscout に確認してください。URL はドキュメントに記載されたマルチチェーン形式に従っていますが、利用可否はアカウントとプランによって異なります。Pali には共有の Blockscout キーは含まれていません。

Etherscan と Alchemy​

キーとプランで利用が許可されている場合、Etherscan V2 API URL で対応する取引履歴リクエストを実行できます。

https://api.etherscan.io/v2/api?chainid=1&apikey=YOUR_API_KEY

選択したネットワークのチェーン ID を使い、Etherscan のエンドポイントとプランの要件を確認してください。Etherscan 互換の履歴に対応していても、トークンの自動検出に対応するとは限りません。 Pali は Etherscan が別途提供する PRO トークン保有情報エンドポイントを実装していません。Etherscan キーだけではあなたのトークンは有効になりません。

Alchemy のトークン API は、alchemy_getTokenBalancesなど、異なるリクエストとレスポンスを使用します。Pali には Alchemy のトークン検出アダプターがありません。ネットワークに適した Alchemy RPC エンドポイントは RPC URL 欄で使えますが、ブロックエクスプローラー API URL 欄の代わりにはなりません。

API キーとプライバシー​

エクスプローラー API キーはプロバイダーへのアクセスを許可するもので、利用枠を消費する場合があります。ウォレットの秘密鍵やリカバリーフレーズとは別のものです。API URL にウォレットの秘密鍵やリカバリーフレーズを入力しないでください。

Pali は設定された API URL を拡張機能のネットワーク設定に保存します。その設定や拡張機能のリクエストを確認できる人は、URL に含まれるキーを見ることができます。スクリーンショット、ログ、設定例を共有する前にキーを削除してください。また、エクスプローラーのサービスには、照会を依頼した公開アカウントアドレスが送信されます。プライバシーと安全を参照してください。

結果が空の場合、API を利用できない場合、再試行​

  • インポートする追加のトークンがない: インポート済みアセットを除いた後、API から対応する追加の保有アセットが返されなかった状態です。アカウントにアセットがないことを証明するものではありません。インデックスや対応アセットの範囲が不完全な場合があります。
  • 検出が設定されていない: ネットワークにエクスプローラー API URL がありません。コントラクトアドレスからアセットを追加するか、ネットワークを管理から互換サービスを設定してください。
  • API を利用できない/アクセス禁止: プロバイダーのエンドポイント、選択したチェーン、API キー、プランを確認してください。403 はプロバイダーがアクセスを拒否したことを示します。
  • リクエストが多すぎる: 429 はプロバイダーがリクエストを制限していることを示します。一覧を初めて開いた時点で利用枠がすでに尽きている場合もあります。しばらく待ってから再試行を使い、失敗が続く場合はプロバイダーの利用制限を確認してください。

検出の失敗はトークン残高がゼロであることを意味しません。インデックスサービスを利用できない間も、カスタム追加と RPC 経由の残高読み取りを引き続き使用できます。