These packages created to simplify the process of parsing NFTs on Solana. The project written in TypeScript and is used/battle-tested by NftEyez.Global with thousands of daily users.
DEMO: Galley Demo
The simplest way to use it in your app is install package, also you need install @solana/web3.js
in your project, since it is used as peer dependency.
npm i @solana/web3.js
npm i @nfteyez/sol-rayz
then use it this way:
import {
resolveToWalletAddress,
getParsedNftAccountsByOwner,
} from "@nfteyez/sol-rayz";
// const address = "3EqUrFrjgABCWAnqMYjZ36GcktiwDtFdkNYwY6C6cDzy;
// or use Solana Domain
const address = "NftEyez.sol";
const publicAddress = await resolveToWalletAddress({
text: address
});
const nftArray = await getParsedNftAccountsByOwner({
publicAddress,
});
This project consists of 2 packages. Please refer to specific README file for in-depth details:
@nfteyez/sol-rayz
- basic functionality, like fetch all NFTs for specific wallet or by Authority. Designed to be used in browser or Node.JS env. Read Details.@nfteyez/sol-rayz-react
- bunch of hooks and utils to be used within React app. You can think of it as highlevel construction upon@nfteyez/sol-rayz
package to simplify its use in UI. Read Details.
Instructions for starting project for the contributors. Clone repo, run in root of the project:
yarn
yarn run build
You might want to test package while you do changes. For this purpose you can use react app in packages/sol-rayz-dev
and start package you are working on in watch mode, for example sol-rayz
:
# go to sol-rayz
cd packages/sol-rayz
yarn run watch
# in new tab go to react app
cd packages/sol-rayz-dev
yarn run start
Now when you changes something sol-rayz
package it will be automatically updated in sol-rayz-dev
app.
Here is example how to add new dependency module @solana/spl-name-service
to @nfteyez/sol-rayz
package:
lerna add @solana/spl-name-service --scope=@nfteyez/sol-rayz