我正在尝试从 solana 钱包中获取所有 NFT。我正在使用Connection.getTokenAccountsByOwner
solana-web3.js API 中的方法。
错误读取:
Error: failed to get token accounts owned by account <wallet key>: Invalid param: unrecognized Token program id
复制:
async function getCollection(pk){
try {
//connect to solana cluster
var connection = new web3.Connection(
web3.clusterApiUrl('devnet'),
'confirmed',
);
//get token accounts from wallet
const nfts = await connection.getTokenAccountsByOwner(pk, {programId: pk})
console.log(nfts);
} catch (error) {
console.log("Error getting NFT:" + error);
}
}
我不完全了解“过滤器”参数{programId: publicKey}
的用途。我想访问帐户中的所有 NFT,而不仅仅是我知道的铸币厂或程序 ID。
我相信这是可能的。任何帮助将不胜感激!