概要
このガイドは、Solanaでのファンジブルトークンの読み取りをカバーします: アカウントの残高、オーナーまたはミントによるトークンアカウント、総供給量、最大ホルダー、およびDASファンジブルトークン拡張。Heliusは標準のSolana RPCトークンメソッドと、メタデータやUSD価格を追加するDASメソッドの両方を公開しています。 NFT、圧縮NFT、エディション、証明については、アセット取得ガイドを参照してください。このページはファンジブル(SPLとToken-2022)トークンに焦点を当てています。これを使用するタイミング
このページの方法を使用するのは次のような場合です:- 単一トークンアカウントの残高を読み取る場合
- ウォレットが保持するすべてのトークンアカウントをリストアップする場合
- 特定のミントを保持するすべてのアカウントを見つける場合
- トークンの総供給量または最大ホルダーを確認する場合
- 残高とともにトークンのメタデータとUSD価格を取得する場合
トークンアカウント残高
標準RPCを使用して特定のトークンアカウントの残高を取得します:APIリファレンス
getTokenAccountBalance
所有者別トークンアカウント
ウォレットによって所有されるすべてのトークンアカウントをリストします:APIリファレンス
getTokenAccountsByOwner
ミント別トークンアカウント
特定のトークンを保持するすべてのアカウントをリストします:APIリファレンス
getTokenAccountsByOwner
getTokenAccountsメソッドを使用します。
トークン供給
トークンの総供給量を確認します:APIリファレンス
getTokenSupply
最大トークンホルダー
トークンを保持している最大のアカウントを特定します:APIリファレンス
getTokenLargestAccounts
DAS APIによるトークンアカウント
DASgetTokenAccountsメソッドは、ミントまたは所有者によるトークンアカウントを、残高を含む単一のページネーションされた呼び出しで返します。getTokenAccountsByOwnerとは異なり、ミントのすべての所有者にまたがるすべてのアカウントをリストするにはmintのみでクエリ可能です。
APIリファレンス
getTokenAccounts
DAS APIによるトークンメタデータと価格
トークンメタデータとUSD価格を取得するには、showFungibleを有効にしてDAS getAssetメソッドを呼び出します。検証済みトークンの価格はtoken_info.price_infoで返されます。
getAssetからの価格データは最大600秒キャッシュされるため、最大10分前の情報です。APIリファレンス
getAsset
token_infoの下に供給、桁数、価格が返されます:
時価総額を計算
価格に10進数調整された供給を掛けます:getAssetsByOwnerまたはsearchAssetsをtokenType: "fungible"と一緒に使用します。レスポンスでtokenType、残高、Token-2022拡張機能、価格データがどのように表示されるかについてはファンジブルトークン拡張を参照してください。
ベストプラクティス
- 大量の結果セットを返すメソッドに対してはページネーションを使用します。ページネーションガイドを参照してください。
- メタデータやUSD価格が必要な場合はDASメソッド(
getAsset、getAssetsByOwner、getTokenAccounts)を優先します。生のオンチェーン残高や供給のためには標準RPCメソッドを使用します。 - エラーをtry/catchブロックとリトライで丁寧に処理します。
- 適切な場合はレスポンスをキャッシュし、APIコールを減らします。
次のステップ
ファンジブルトークン拡張
DASがファンジブルトークン、Token-2022拡張、価格を返す方法。
アセット取得(NFTs)
NFTs、圧縮NFTs、エディション、証明を取得。
DAS APIリファレンス
すべてのDASメソッドの完全なスキーマ。