【发布时间】:2021-12-10 11:21:30
【问题描述】:
我正在使用 solana json rpc api 从我的 javascript 应用程序中检查钱包的代币余额。我已经像这样使用了它的功能
const getTokenBalance = async (walletAddress, tokenMintAddress) => {
const response = await axios({
url: `https://api.mainnet-beta.solana.com`,
method: "post",
headers: { "Content-Type": "application/json" },
data: {
jsonrpc: "2.0",
id: 1,
method: "getTokenAccountsByOwner",
params: [
walletAddress,
{
mint: tokenMintAddress,
},
{
encoding: "jsonParsed",
},
],
},
});
if (
Array.isArray(response?.data?.result?.value) &&
response?.data?.result?.value?.length > 0 &&
response?.data?.result?.value[0]?.account?.data?.parsed?.info?.tokenAmount
?.amount > 0
) {
return (
Number(
response?.data?.result?.value[0]?.account?.data?.parsed?.info
?.tokenAmount?.amount
) / 1000000000
);
} else {
return 0;
}
};
但是我想通过一个电话获得所有的代币余额,而不是通过为每个代币提供一个铸币厂地址来询问代币余额,这使我的 api 响应像 10 分钟一样,有什么友好的方法可以做到这一点吗?
我看到Covalent api可以检查以太坊钱包余额,想知道他们是怎么做到的
【问题讨论】:
标签: javascript node.js solana