如何获取 Solana 钱包中的代币列表

How to get list of Tokens in a Solana Wallet

我正在尝试从钱包地址获取拥有的代币列表。在 solana web3 文档中,有一个名为 getTokenAccountsByOwner 的 属性 of Connecton,但我收到类型错误:mintAddress.toBase58 is not a function.

这是我使用的代码:

const solanaWeb3 = require('@solana/web3.js');
const { Connection, programs } = require('@metaplex/js');
const axios = require('axios');

..

console.log(solanaConnection.getTokenLargestAccounts('2MTPtFo78QzWJaK9PGk9pZm9dFrVVSBGCRWPpND25GAe'));

您的问题和代码之间似乎有些混杂,因为问题引用了 getTokenAccountsByOwner 但代码显示 getTokenLargestAccounts.

无论哪种方式,当您应该传递一个 PublicKey 时,您传递的是一个字符串。您可以试试:

console.log(solanaConnection.getTokenLargestAccounts(new PublicKey('2MTPtFo78QzWJaK9PGk9pZm9dFrVVSBGCRWPpND25GAe')));