Solana - 如何获取国外账户的代币余额?
Solana - How to get token balance for a foreign account?
在 Solana 中,您可以使用 CLI 获得自己的余额
$ spl-token accounts
但是如果我有账户ID或者他的pubkey,如何获取国外账户的token余额呢?当我使用 solana explorer 时,我可以在搜索外国帐户 ID 时看到我需要的信息,然后单击 Tokens 选项卡(在“History”旁边):
https://explorer.solana.com/address/DNuqHBGxzm96VLkLWCUctjYW9CX68DBY6jQ1cVuYP2Ai/tokens?cluster=devnet
所以如果浏览器网站可以做到,每个人都可以,区块链上的所有信息都是public,对吗?
没错,一切确实都是public,所以如果你想得到别人账户的余额,如果是SOL(https://docs.solana.com/developing/clients/jsonrpc-api#getbalance) or getTokenAccountBalance
if it's an SPL Token account (https://docs.solana.com/developing/clients/jsonrpc-api#gettokenaccountbalance),你可以简单地使用getBalance
。
在 Jon Cinque 的回答后,以下代码用于获得 SOL 的余额(可能对其他人或未来的我有帮助):
const web3 = require("@solana/web3.js");
const { Keypair, Transaction, SystemProgram, LAMPORTS_PER_SOL, sendAndConfirmTransaction, clusterApiUrl } = require("@solana/web3.js");
let secretKey = Uint8Array.from([233, 65, ... (rest of my secret)]);
let fromKeypair = Keypair.fromSecretKey(secretKey);
let connection = new web3.Connection(clusterApiUrl('devnet'));
(async () => {
const balance = await connection.getBalance(
fromKeypair.publicKey
);
console.log(balance)
})()
输出:7912350560
这是正确的,因为我在该帐户中有 7.912350560 SOL。
但是对于 SPL 令牌它还没有工作...
要获取国外账户及其余额的列表,可以使用以下 CLI 命令:
$ spl-token accounts --owner <account owner's pubkey>
- 其中
是您想要获取其信息的钱包的 public 密钥或地址。
在 Solana 中,您可以使用 CLI 获得自己的余额
$ spl-token accounts
但是如果我有账户ID或者他的pubkey,如何获取国外账户的token余额呢?当我使用 solana explorer 时,我可以在搜索外国帐户 ID 时看到我需要的信息,然后单击 Tokens 选项卡(在“History”旁边): https://explorer.solana.com/address/DNuqHBGxzm96VLkLWCUctjYW9CX68DBY6jQ1cVuYP2Ai/tokens?cluster=devnet
所以如果浏览器网站可以做到,每个人都可以,区块链上的所有信息都是public,对吗?
没错,一切确实都是public,所以如果你想得到别人账户的余额,如果是SOL(https://docs.solana.com/developing/clients/jsonrpc-api#getbalance) or getTokenAccountBalance
if it's an SPL Token account (https://docs.solana.com/developing/clients/jsonrpc-api#gettokenaccountbalance),你可以简单地使用getBalance
。
在 Jon Cinque 的回答后,以下代码用于获得 SOL 的余额(可能对其他人或未来的我有帮助):
const web3 = require("@solana/web3.js");
const { Keypair, Transaction, SystemProgram, LAMPORTS_PER_SOL, sendAndConfirmTransaction, clusterApiUrl } = require("@solana/web3.js");
let secretKey = Uint8Array.from([233, 65, ... (rest of my secret)]);
let fromKeypair = Keypair.fromSecretKey(secretKey);
let connection = new web3.Connection(clusterApiUrl('devnet'));
(async () => {
const balance = await connection.getBalance(
fromKeypair.publicKey
);
console.log(balance)
})()
输出:7912350560
这是正确的,因为我在该帐户中有 7.912350560 SOL。
但是对于 SPL 令牌它还没有工作...
要获取国外账户及其余额的列表,可以使用以下 CLI 命令:
$ spl-token accounts --owner <account owner's pubkey>
- 其中
是您想要获取其信息的钱包的 public 密钥或地址。