sol-rayz
sol-rayz copied to clipboard
💫 Package to simplify parsing NFTs on Solana and build NFT galleries
@nfteyez/sol-rayz
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
How to use
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,
});
Details
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.
Development
This section related only for the people who wants contribute to this project.
Instructions for starting project for the contributors. Clone repo, run in root of the project:
yarn
yarn run build
Development process
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.
Add New new dependency to some package
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