js-deprecated icon indicating copy to clipboard operation
js-deprecated copied to clipboard

Get all NFT by owner's public address

Open VikashAnandJha opened this issue 3 years ago • 1 comments

Hey team how can i get list of all the nft owned by a public address

VikashAnandJha avatar Feb 09 '22 00:02 VikashAnandJha

import { getParsedNftAccountsByOwner,isValidSolanaAddress, createConnectionConfig,} from "@nfteyez/sol-rayz";
import { clusterApiUrl, PublicKey } from "@solana/web3.js";

const getAllNftData = async () => {
try {
if (connectedAddr) {
const connect = createConnectionConfig(clusterApiUrl("devnet"));
const provider = window.solana; //make sure phantom is installed and connected to the site
let ownerToken = provider.publicKey;
const result = isValidSolanaAddress(ownerToken);
console.log("result", result);
const nfts = await getParsedNftAccountsByOwner({
publicAddress: ownerToken,
connection: connect,
serialization: true,
});
return nfts;
}
} catch (error) {
console.log(error);
}
};

const getNftTokenData = async () => {
try {
let nftData = await getAllNftData();
console.log(nftData)
setNftDataRaw(nftData);
var data = Object.keys(nftData).map((key) => nftData[key]);
let arr = [];
let n = data.length;
//fetching nfts media (imgs/videos etc)
for (let i = 0; i < n; i++) {
console.log(data[i].data.uri);
let val = await axios.get(data[i].data.uri);
arr.push(val);
}
return arr;
} catch (error) {
console.log(error);
}
};

This works just fine for me.

AmmarKhalid123 avatar Feb 10 '22 02:02 AmmarKhalid123