Solana CookbookTokens
How to Get All Token Accounts by Authority
You can fetch token accounts by owner. There are two ways to do it.
- Get All Token Account
import { address, createSolanaClient } from "gill";import { TOKEN_PROGRAM_ADDRESS } from "gill/programs/token";const { rpc } = createSolanaClient({urlOrMoniker: "devnet"});let owner = address("4kg8oh3jdNtn7j2wcS7TrUua31AgbLzDVkBZgTAe44aF");let response = await rpc.getTokenAccountsByOwner(owner,{ programId: TOKEN_PROGRAM_ADDRESS },{ encoding: "jsonParsed" }).send();response.value.forEach((accountInfo) => {console.log(`pubkey:${accountInfo.pubkey}`);console.log(`Mint:${accountInfo.account.data["parsed"]["info"]["mint"]}`);console.log(`Owner:${accountInfo.account.data["parsed"]["info"]["owner"]}`);console.log(`Decimals:${accountInfo.account.data["parsed"]["info"]["tokenAmount"]["decimals"]}`);console.log(`Amount:${accountInfo.account.data["parsed"]["info"]["tokenAmount"]["amount"]}`);console.log("=====================");});
Console
Click to execute the code.
- Filter By Mint
import { address, createSolanaClient } from "gill";const { rpc } = createSolanaClient({urlOrMoniker: "devnet"});let owner = address("4kg8oh3jdNtn7j2wcS7TrUua31AgbLzDVkBZgTAe44aF");let mint = address("6sgxNSdXgkEFVLA2YEQFnuFHU3WGafhu9WYzXAXY7yCq");let response = await rpc.getTokenAccountsByOwner(owner, { mint }, { encoding: "jsonParsed" }).send();response.value.forEach((accountInfo) => {console.log(`pubkey: ${accountInfo.pubkey}`);console.log(`mint: ${accountInfo.account.data["parsed"]["info"]["mint"]}`);console.log(`owner: ${accountInfo.account.data["parsed"]["info"]["owner"]}`);console.log(`decimals: ${accountInfo.account.data["parsed"]["info"]["tokenAmount"]["decimals"]}`);console.log(`amount: ${accountInfo.account.data["parsed"]["info"]["tokenAmount"]["amount"]}`);console.log("====================");});
Console
Click to execute the code.
Is this page helpful?