A new, simple NFT standard for Solana

Overview

New Solana NFT Standard

Current Issues

The current NFT spec is pretty bad for a few reasons:

  • every NFT requires multiple accounts (3+)
  • the token account address can change (and the token account is not always the associated token account of the current NFT owner)
  • the NFT holder can transfer the NFT to a diff token account which can make any existing escrow / marketplace accounts invalid
  • it’s hard to get all of the NFTs for a given wallet
  • the editions part of the spec is very confusing
  • it’s hard to group collections — not built into the original version of the spec and slow to query
  • it’s really hard to get all of the activity (transfers / etc) for one NFT since one tx may include the mint while another tx includes the token account

This all stems from the first problem — an NFT is a bunch of different accounts but it should really be just one account.

A Path Forwards

Read more here: https://lu.ma/p/CM0oovlwagtYho6/Proposal-New-Solana-NFT-Spec


Follow along: https://twitter.com/VictorPontis

Comments
  • Un-break the docs

    Un-break the docs

    What Broke

    In https://github.com/glow-xyz/nftoken/pull/155, I merged this change to _app.tsx:

    https://github.com/glow-xyz/nftoken/blob/782b1086831083d9f0f4e5944e0b4050ae07adc7/docs/pages/_app.tsx#L25-L27

    This should’ve been /docs instead of docs, which meant that the <DocsPage /> layout didn’t render when it was supposed to. DocsPage includes the sidebar, mobile nav, and GlowProvider, which caused the missing sidebar, mobile nav not working, and minting not working.

    Before merging the new NFT detail page I wasn’t careful enough about check the docs part of the site, so I didn’t notice that the docs were broken.

    Fix

    • Replaced docs with /docs.
    • Moved the mobile nav to <Header />, so every time the mobile nav menu button is rendered in the header there’s also an actual mobile nav.

    Test Checklist

    Tested using https://nftoken-git-fix-revert.luma-dev.com

    • [x] Splash page looks good in desktop and mobile.
    • [x] “Learn more” and “Create an NFT” links work.
    • [x] Docs logo goes to Overview.
    • [x] GitHub link works.
    • [x] Forward and back buttons on each page go to the correct place.
    • [x] Glow and Twitter buttons in footer work.
    • [x] Sidebar and header show on docs pages and are position: sticky when scrolling.
    • [x] Docs look good on mobile.
    • [x] Mobile nav works on docs and on NFT detail page.
    • [x] Mobile nav works even when scrolled down the page.
    • [x] Mobile nav closes when a link is clicked.
    • [x] Page is not scrollable while mobile nav is open.
    • [x] Mobile nav links work.
    • [ ] Connect/disconnect wallet works on Live Minting Demo, and so does filling out the form and clicking Create NFT.
    • [x] Live Minting Demo looks good on mobile.
    • [x] Code blocks are legible and can be copied via button in top right corner.
    • [x] NFT detail page has header whose mobile nav can be expanded, but no sidebar on desktop.
    • [x] NFT detail page’s mobile nav works when opened while scrolled partially down the page.
    • [x] NFT detail page looks good on mobile.
    • [x] Copying Solana addresses on NFT detail page works and causes a success toast to appear.
    • [x] Clicking logo on NFT detail page goes to Overview.
    • [x] Clicking links in mobile nav on NFT detail page works.
    • [x] All pages look good when browser font size is increased (in settings, not cmd+/cmd-).
    • [x] All pages look good in dark mode.
    • [x] All pages look good in Safari.
    • [x] All pages look good in Firefox.

    Let me know if there’s anything else I should add to this checklist!

    Outstanding Problems

    • [ ] I can’t connect wallet for the Live Minting Demo on iOS Safari. Is it a problem with it being a Vercel staging URL?
    opened by benborgers 6
  • Give suggestions for images to use for NFT

    Give suggestions for images to use for NFT

    I chose some photos from Unsplash that looked cool. Demo: https://nftoken-git-l-5357-give-suggestions-for-images-to-use-for.luma-dev.com/create-an-nft

    What do you think of the photos?

    I did Unsplash because the photos can be freely used, whereas I know for example DALL-E explicitly says you can’t use their art for NFTs.

    opened by benborgers 5
  • Minting success animation

    Minting success animation

    Two options for confetti:

    1. https://share.cleanshot.com/0KIJoP
    2. https://share.cleanshot.com/9JlXAB

    Any other things you’d want to see? The little “Your NFT has been minted!” message could be spiced up, but I’m not quite sure how.

    opened by benborgers 5
  • Splash page

    Splash page

    Put together a first iteration of a simple splash page. The design is based off of Kunj’s designs in Figma, and it’s pretty bold (although I like it) so let me know what you think.

    opened by benborgers 5
  • Add Sign in with Glow

    Add Sign in with Glow

    Adds a Sign in with Glow button in the top right corner.

    | | Glow installed | Glow not installed | | --- | --- | --- | | Desktop | | | | Mobile | |

    Lingering questions

    • [ ] How do I make Typescript happy with using window.glow?
    • [ ] How do I persist logged-in state? Currently, when you refresh it goes back to being logged out.
    opened by benborgers 5
  • Layered navigation system

    Layered navigation system

    This introduces two levels of navigation: one for the entire NFToken site, and one just for the NFToken docs.

    https://share.cleanshot.com/y932U5

    I’m not too sure about the design of the mobile docs nav — happy to hear suggestions for other options!

    To do

    • [ ] Scrolling down on a docs page on mobile and then navigating to another page causes the underline on the primary nav to fly up weirdly.

    Checklist

    • [ ] Splash page looks good in desktop and mobile.
    • [ ] “Learn more” and “Create an NFT” links work.
    • [ ] Sidebar and header show on docs pages and are position: sticky when scrolling.
    • [ ] Docs look good on mobile.
    • [ ] Mobile nav works even when scrolled down the page.
    • [ ] Mobile nav closes when a link is clicked.
    • [ ] Page is not scrollable while mobile nav is open.
    • [ ] Live Minting Demo works.
    • [ ] All pages look good when browser font size is increased (in settings, not cmd+/cmd-).
    • [ ] All pages look good in dark mode.
    • [ ] All pages look good in Safari.
    • [ ] All pages look good in Firefox.
    opened by benborgers 4
  • Create collection detail page

    Create collection detail page

    • Extracts the key/value table into <ValueList />
    • Adds a button linking an NFT to its collection (if it exists)
    • Adds a collection page with information about the collection and listing all its NFTs.
      • https://nftoken-git-l-5178-create-collection-detail-page.luma-dev.com/collection/3nj6H9cGutWBZeTzT5EDWLiWMh7XwVn6nsscUJLqzws7
      • https://nftoken-git-l-5178-create-collection-detail-page.luma-dev.com/collection/BqMWbhw36dekDaSqMtLgCBomcgK5Lgu9Z5Y5mTtfQ1B2
    opened by benborgers 4
  • Style NFT detail page

    Style NFT detail page

    This styles the NFT detail page (/nft/[address]) page with a developer-y table of attributes and their values.

    Solana addresses are copyable, and links are clickable. Traits (if present) are listed under a separate table.

    Examples:

    • https://nftoken-git-l-5177-create-nft-detail-page.luma-dev.com/nft/uERDSnn8x7Hjv6zPMFpGXrbXEvGVwwBAaViFrDdjXr6
    • https://nftoken-git-l-5177-create-nft-detail-page.luma-dev.com/nft/GtmTbLRKJxPAo4ZREr8sWq928sbG9xJo845U5eQNmL2f
    opened by benborgers 4
  • Allow minting devnet NFTs

    Allow minting devnet NFTs

    This PR adds NetworkContext which allows changing between mainnet and devnet for the entire docs site, and persists it to local storage.

    On the Create NFT component itself, there’s a LuxMenu that allows switching network:

    2022-06-24 at 12 52 22@2x

    opened by benborgers 4
  • Allow Minting from Mintlist

    Allow Minting from Mintlist

    Feature overview: https://www.loom.com/share/22e0fe0f7f264529a719046d01d0d8a2

    Extras:

    • The nft card component used both on the mintlist and collection page has been extracted into the NftCard component. cc @benborgers

    QA: You can use the following mintlist to test on devnet: https://nftoken-git-l-5182-allow-minting-from-mintlist.luma-dev.com/mintlist/heT9rmaXNQNttfwe5vPn6xymgEJg33cMDnNDGF6RuRo?network=devnet

    opened by vovacodes 3
  • All Mintlists Page

    All Mintlists Page

    • Add the /mintlists page that gives overview of all the mintlists created by the wallet
    Screenshot 2022-06-30 at 14 47 59
    • Add the mintlist/[mintlistAddress] page that displays the mintlist details
    Screenshot 2022-06-30 at 15 14 11
    opened by vovacodes 3
  • Support faster mintlist creation

    Support faster mintlist creation

    There can be multiple writes to an account in the same block, so we can support much faster mintlist creation by allowing the add_mint_infos instruction to specify the following info:

    • start_idx
    • mint_infos_to_add

    Then the program needs to be a bit smarter about figuring out the number of NFTs that have been configured since it's possible that we are overwriting a mint info that has already been configured.

    opened by vpontis 0
  • Add better support for freeze authority - Escrowless Problems

    Add better support for freeze authority - Escrowless Problems

    The root of this issue is that a delegate can not freeze the token. Only update authority can. This means you can't do something like cardinal-staking, or escrowless marketplace listings. These kinds of dapps are popular because holder-verification continues to work, and the token shows in their wallet.

    Currently, without freeze authority being delegatable, a dapp given delegate authority may break or have stale data if the user removes the delegate authority without interacting with said dapp - or transfers the token.


    If we remove is_frozen from nft_update, and add new instructions to manage this property, we can solve this problem.

    Delegate moving forward will act as transfer and freeze authority.

    When frozen, the token can not be acted upon. Any action except for metadata update should error. nft_burn needs to be patched. (#196 )

    These changes can be made with backwards compatibility with v1.

    The new instructions could be:

    nft_freeze and nft_thaw. Each would check if the delegate is the signer of the ix, and if so, update is_frozen


    We can scan mainnet for any current calls to nft_update and see if anyone is using args.is_frozen before making a decision but I think shooting for retro-active ^1.0.1 support here would be a massive win.

    opened by Flawm 1
  • Dependency Dashboard

    Dependency Dashboard

    This issue provides visibility into Renovate updates and their statuses. Learn more

    Awaiting Schedule

    These updates are awaiting their schedule. Click on a checkbox to get an update now.

    • [ ] Update dependency @glow-app/glow-react to v0.6.0

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    cargo
    programs/nftoken/Cargo.toml
    • anchor-lang 0.24.2
    • anchor-spl 0.24.2
    • arrayref 0.3.6
    • borsh 0.9
    github-actions
    .github/workflows/docs-tests.yml
    • actions/checkout v3
    .github/workflows/program-test.yml
    • actions/checkout v3
    npm
    docs/package.json
    • @glow-app/glow-client 0.3.0
    • @glow-app/glow-react 0.1.1
    • @glow-app/solana-client 0.5.0
    • @heroicons/react 1.0.6
    • @lux-org/sass 0.46.0
    • @markdoc/markdoc 0.1.2
    • @markdoc/next.js 0.1.4-1
    • @metaplex-foundation/beet 0.2.0
    • @svgr/webpack 6.2.1
    • @types/luxon 2.3.2
    • @types/react-dom 18.0.5
    • axios 0.27.2
    • canvas-confetti 1.5.1
    • classnames 2.3.1
    • copy-to-clipboard 3.3.1
    • formik 2.2.9
    • luxon 2.4.0
    • motion 10.10.0
    • next 12.1.6
    • prism-themes 1.9.0
    • prismjs 1.28.0
    • react 18.1.0
    • react-dom 18.1.0
    • react-dropzone 14.2.1
    • sass 1.52.3
    • typescript 4.7.3
    • zod 3.17.3
    • @types/canvas-confetti 1.4.2
    • @types/node 17.0.41
    • @types/prismjs 1.26.0
    • @types/react 18.0.12
    • @typescript-eslint/parser 5.27.1
    • eslint 8.17.0
    • eslint-plugin-lodash 7.4.0
    package.json
    • prettier 2.6.2
    • typescript 4.7.3
    program-tests/package.json
    • @project-serum/anchor 0.24.2
    • @project-serum/borsh 0.2.5
    • @project-serum/serum 0.13.65
    • @solana/web3.js 1.43.6
    • @types/jest 28.1.1
    • @types/lodash 4.14.182
    • @typescript-eslint/eslint-plugin 5.27.1
    • @typescript-eslint/parser 5.27.1
    • assert 2.0.0
    • axios 0.27.2
    • bignumber.js 9.0.2
    • buffer 6.0.3
    • buffer-layout 1.2.2
    • camelcase 6.3.0
    • eslint 8.17.0
    • eslint-config-prettier 8.5.0
    • jest 28.1.1
    • lodash 4.17.21
    • luxon 2.4.0
    • p-limit 4.0.0
    • prettier 2.6.2
    • ts-jest 28.0.4
    • typescript 4.7.3
    • zod 3.17.3
    • node >=11
    nvm
    .nvmrc
    • node 16.15.1

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
  • Figure out how account versioning works

    Figure out how account versioning works

    Let's say we add Hierarchical Collections #65 in the second version of the CollectionAccount. How do we let Anchor / Rust serialize one account or the other? Will we have to move serialization code from the Anchor macro to inside the instruction?

    opened by vpontis 0
Releases(nftoken-js-v0.1.5)
  • nftoken-js-v0.1.5(Jul 21, 2022)

  • nftoken-js-v0.1.4(Jul 21, 2022)

  • nftoken-js-v0.1.3(Jul 21, 2022)

  • nftoken-js-v0.1.2(Jul 21, 2022)

    • Upgrade solana client (6f8b052)
    • Add button to download glow on mintlist (#191) (557cd9a)
    • Add a video embed to the Mintlists docs (#190) (dda6fc5)
    • Improve UX of creating a mintlist (#189) (507ba28)
    • Add docs re selling NFTs with Mintlists (#188) (c503ae7)
    • Capitalize "glow" (#187) (4e0ffac)
    • Point nftoken.so to Framer-hosted landing page (#184) (ccca4b4)
    • Add better empty states to the docs (#186) (75e8002)
    • Add mintlist_close_v1 instruction + test (#185) (98e81c3)
    • Give suggestions for images to use for NFT (#183) (3026bbc)
    • Fully replace Heroicons with Lux Icons (#182) (3cbd001)
    • Use lux-icons (#181) (887cb63)
    • Clean up docs (#180) (b48a03e)
    • Fix header logo in docs (#179) (f16dbbb)
    • Add @glow-xyz/nftoken-js library (#178) (e4a4fc5)
    • Update benefits (#177) (86f1697)
    • Add more states to the mintlist page (#176) (1ba10db)
    • Add countdown to mintlist + more social tags (#175) (d635040)
    • Remove animation from secondary nav on desktop (#174) (28098b4)
    • More cleanups (#173) (5f3722a)
    • Do some small docs cleanups (#172) (faa1e8d)
    • Layered navigation system (#170) (975d120)
    • Improve mintlist layout + functionality (#171) (fd6ddc5)
    • Support CSV Upload (#167) (94f7f3c)
    • Improve image uploading drop zone (#168) (ed7a44d)
    • Allow Minting from Mintlist (#166) (326d3bc)
    • Split NFT info by on/off chain metadata (#165) (d9a4987)
    • Add the NFTs section to the Mintlist page (#163) (2e8593b)
    • Polish NFT and collection 404 pages (#164) (2fc6e96)
    • Create collection detail page (#162) (9075741)
    • All Mintlists Page (#161) (4d1ae1d)
    • Add Mintlist Support to the docs website (#158) (7772338)
    • Simplify _app.tsx (#160) (a7a2420)
    • Allow minting devnet NFTs (#152) (58cf8d5)
    • Un-break the docs (#159) (1dad212)
    • Revert Ben's changes (#157) (5786934)
    • Style NFT detail page (#155) (66bff88)
    • Move docs to /docs (#154) (838b496)
    • Add super basic page to see an NFT's information (#153) (013b1fa)
    • Bring over LuxModal (#149) (8fca787)
    • Tweak margin (#151) (74943d8)
    • Use LuxButton in more places (#140) (b7d500b)
    • Attribute table (#150) (2b0ea14)
    • Mitigate layout shift due to splash page image (#147) (263afbe)
    • Push the footer down on short pages (#145) (4895909)
    • Fix responsiveness issue due to code block 2 (#144) (8ca76d9)
    • Fix responsiveness in code block (#143) (5c52dc4)
    • Add Google Analytics (#142) (09f35e0)
    • Make code blocks light/dark responsive (#137) (77ff7ee)
    • Footer improvements (#139) (74237ef)
    • flex-center (#141) (8044394)
    • Bump dependencies, incl @glow-app to 1.0 (#138) (000a3c5)
    • Update some technical copy (#136) (0dc9961)
    • Refactor header and _app.tsx components (#135) (3b27df3)
    • Improve the create nft section (#134) (dd43175)
    • Fix social preview and page title (#132) (c72384f)
    • Bump program version and release docs (#131) (b35ea98)
    • Revise some docs copy from feedback (#100) (34d3765)
    • Share image (#125) (0ecb66e)
    • Bring over components from Luma (#126) (5fa2677)
    • Delete renovate.json5 (#129) (71a0a84)
    • Minting success animation (#116) (c1af751)
    • Loading indicator for image uploading (#117) (4fa35ab)
    • Fix sketch in dark mode (#119) (a1ee38f)
    • Swap favicon (#118) (8b845fd)
    • Update renovate.json5 to run less often (#115) (c02b49e)
    • Dark mode fixes (#113) (b0dc795)
    • Fix link on homepage (#114) (2e6fa7d)
    • Remove @solana/web3.js + small polish (#108) (dc44024)
    • fix (#107) (bfa4e57)
    • Iterate on Create NFT section UI (#85) (1ee7e09)
    • Hook up uploading image to creating NFT (#106) (47d96a8)
    • Mobile nav animation fix (#105) (98b4a0a)
    • Hook up uploading image to S3 (#104) (644ea0a)
    • Splash page (#96) (03302fb)
    • Add footer (#92) (1151817)
    • Bump version to 1.0 (#95) (1f04a7d)
    • Prepare to deploy to nftokf9qcHSYkVSP3P2gUMmV6d4AwjMueXgUu43HyLL (#94) (33b1bd2)
    • Rename collection_transfer to collection_update_authority (#93) (75bdae2)
    • Deploy new program nf8HTAnNYh2nSBh8a3Sfa7XsCZYitMcHRx3PgEtea5E (#88) (1916b59)
    • Import icons instead of using raw SVG’s (#91) (45bfd91)
    • UI polish (#89) (2e7e807)
    • Improve docs + add nft_burn_v1 instruction (#86) (adcf589)
    • Add tag (#81) (c1f9d79)
    • Add Code Blocks component (#82) (001ce97)
    • Don't allow scrolling when nav is open (#80) (fb6ce85)
    • Redesign (#68) (5a1bde1)
    • Update dependency @solana/web3.js to v1.43.6 (#73) (bfe4ba8)
    • Update dependency @typescript-eslint/parser to v5.27.1 (#75) (a199a60)
    • Update Node.js to v16.15.1 (#77) (ea2ddfb)
    • Update dependency next to v12.1.7-canary.31 (#76) (ff1ecfa)
    • Pin dependencies (#71) (c4ac7a8)
    • Configure renovatebot to manage deps (#70) (d222358)
    • Make the NFT creation form work (#67) (ac84dba)
    • Add basic content for documentation (#63) (5d052a4)
    • Add Sign in with Glow (#54) (8bab895)
    • Fix type error in docs (#61) (5bfd1b8)
    • Add ability for the creator to freeze an NFT account (#60) (a81adbc)
    • Create NFT Section (#55) (6bf725f)
    • Remove sass files locally in favor of npm package (#59) (c91a439)
    • Update creator field to authority (#58) (9f7421e)
    • Update deploy script and program ID (#57) (d766fca)
    • Add version to all instructions (#56) (af32e07)
    • Create layout for docs (#49) (37d0849)
    • Update deploy script to build before deploying (#53) (b376792)
    • Update metadata url to variable width string (#52) (48bdd0b)
    • Add instruction to set up creators account for royalties (#47) (5c02dd3)
    • Add contributing.md doc (#48) (71b01ab)
    • Add deploy script (#45) (1e050ce)
    • Update metadata length and account sizes (#44) (c2d931d)
    • Add docs website (#43) (373c6a0)
    • Add configuration for rustdocs (#42) (d92e9e9)
    • Prevent adding duplicate mint infos (#41) (52a8d46)
    • Organize imports + add a test for create coll / nft (#40) (f842f55)
    • Allow setting holder when creating NFT (#39) (a4eada7)
    • Rename priceprice_lamports; update account orders (#38) (90e278d)
    • Improve MintlistAccount layout (#37) (bbfc7b9)
    • Add mintlist_mint_nft instruction (#36) (8416c12)
    • Add mintlist_create + mintlist_add_mint_infos instructions (#35) (077a183)
    • Update README.md (#30) (c5590ba)
    • Update program to nf2 (#29) (5fe642f)
    • Allow updating nft + collection (with tests) (#27) (c912c52)
    • Update program id + rename instructions (#26) (d9a2772)
    • Add ixs to set / unset nft collection (#25) (b26046e)
    • Add test for transferring NFT (#21) (acb9ccf)
    • Set up GitHub Action to test Anchor Program on PRs (#16) (77f3811)
    • Add created_at to collection (#9) (f1cea0e)
    • Rename state → account_types (f36ec7b)
    • Fixup (f18ef99)
    • Remove unused imports (df8b5b3)
    • Pull our each instruction into its own file (92811df)
    • Add created_at to NftAccount struct (03571fa)
    • Split instructions into different files (c005a90)
    • Add tests for delegating (de156d1)
    • Add a readme (9841b3b)
    • Add collection account + ability to mint NFT into collection (c97c1ae)
    • Initial nftoken commit (5ce9117)
    Source code(tar.gz)
    Source code(zip)
  • nftoken-js-v0.1.1(Jul 10, 2022)

    • temp commit (2044837)
    • temp commit (c7a30ae)
    • temp commit (d513792)
    • temp commit (663c7b0)
    • temp commit (0e3e84d)
    • temp commit (60c4682)
    • temp commit (e608383)
    • Add nftoken-js package (1ffbb9f)
    • Update benefits (#177) (86f1697)
    • Add more states to the mintlist page (#176) (1ba10db)
    • Add countdown to mintlist + more social tags (#175) (d635040)
    • Remove animation from secondary nav on desktop (#174) (28098b4)
    • More cleanups (#173) (5f3722a)
    • Do some small docs cleanups (#172) (faa1e8d)
    • Layered navigation system (#170) (975d120)
    • Improve mintlist layout + functionality (#171) (fd6ddc5)
    • Support CSV Upload (#167) (94f7f3c)
    • Improve image uploading drop zone (#168) (ed7a44d)
    • Allow Minting from Mintlist (#166) (326d3bc)
    • Split NFT info by on/off chain metadata (#165) (d9a4987)
    • Add the NFTs section to the Mintlist page (#163) (2e8593b)
    • Polish NFT and collection 404 pages (#164) (2fc6e96)
    • Create collection detail page (#162) (9075741)
    • All Mintlists Page (#161) (4d1ae1d)
    • Add Mintlist Support to the docs website (#158) (7772338)
    • Simplify _app.tsx (#160) (a7a2420)
    • Allow minting devnet NFTs (#152) (58cf8d5)
    • Un-break the docs (#159) (1dad212)
    • Revert Ben's changes (#157) (5786934)
    • Style NFT detail page (#155) (66bff88)
    • Move docs to /docs (#154) (838b496)
    • Add super basic page to see an NFT's information (#153) (013b1fa)
    • Bring over LuxModal (#149) (8fca787)
    • Tweak margin (#151) (74943d8)
    • Use LuxButton in more places (#140) (b7d500b)
    • Attribute table (#150) (2b0ea14)
    • Mitigate layout shift due to splash page image (#147) (263afbe)
    • Push the footer down on short pages (#145) (4895909)
    • Fix responsiveness issue due to code block 2 (#144) (8ca76d9)
    • Fix responsiveness in code block (#143) (5c52dc4)
    • Add Google Analytics (#142) (09f35e0)
    • Make code blocks light/dark responsive (#137) (77ff7ee)
    • Footer improvements (#139) (74237ef)
    • flex-center (#141) (8044394)
    • Bump dependencies, incl @glow-app to 1.0 (#138) (000a3c5)
    • Update some technical copy (#136) (0dc9961)
    • Refactor header and _app.tsx components (#135) (3b27df3)
    • Improve the create nft section (#134) (dd43175)
    • Fix social preview and page title (#132) (c72384f)
    • Bump program version and release docs (#131) (b35ea98)
    • Revise some docs copy from feedback (#100) (34d3765)
    • Share image (#125) (0ecb66e)
    • Bring over components from Luma (#126) (5fa2677)
    • Delete renovate.json5 (#129) (71a0a84)
    • Minting success animation (#116) (c1af751)
    • Loading indicator for image uploading (#117) (4fa35ab)
    • Fix sketch in dark mode (#119) (a1ee38f)
    • Swap favicon (#118) (8b845fd)
    • Update renovate.json5 to run less often (#115) (c02b49e)
    • Dark mode fixes (#113) (b0dc795)
    • Fix link on homepage (#114) (2e6fa7d)
    • Remove @solana/web3.js + small polish (#108) (dc44024)
    • fix (#107) (bfa4e57)
    • Iterate on Create NFT section UI (#85) (1ee7e09)
    • Hook up uploading image to creating NFT (#106) (47d96a8)
    • Mobile nav animation fix (#105) (98b4a0a)
    • Hook up uploading image to S3 (#104) (644ea0a)
    • Splash page (#96) (03302fb)
    • Add footer (#92) (1151817)
    • Bump version to 1.0 (#95) (1f04a7d)
    • Prepare to deploy to nftokf9qcHSYkVSP3P2gUMmV6d4AwjMueXgUu43HyLL (#94) (33b1bd2)
    • Rename collection_transfer to collection_update_authority (#93) (75bdae2)
    • Deploy new program nf8HTAnNYh2nSBh8a3Sfa7XsCZYitMcHRx3PgEtea5E (#88) (1916b59)
    • Import icons instead of using raw SVG’s (#91) (45bfd91)
    • UI polish (#89) (2e7e807)
    • Improve docs + add nft_burn_v1 instruction (#86) (adcf589)
    • Add tag (#81) (c1f9d79)
    • Add Code Blocks component (#82) (001ce97)
    • Don't allow scrolling when nav is open (#80) (fb6ce85)
    • Redesign (#68) (5a1bde1)
    • Update dependency @solana/web3.js to v1.43.6 (#73) (bfe4ba8)
    • Update dependency @typescript-eslint/parser to v5.27.1 (#75) (a199a60)
    • Update Node.js to v16.15.1 (#77) (ea2ddfb)
    • Update dependency next to v12.1.7-canary.31 (#76) (ff1ecfa)
    • Pin dependencies (#71) (c4ac7a8)
    • Configure renovatebot to manage deps (#70) (d222358)
    • Make the NFT creation form work (#67) (ac84dba)
    • Add basic content for documentation (#63) (5d052a4)
    • Add Sign in with Glow (#54) (8bab895)
    • Fix type error in docs (#61) (5bfd1b8)
    • Add ability for the creator to freeze an NFT account (#60) (a81adbc)
    • Create NFT Section (#55) (6bf725f)
    • Remove sass files locally in favor of npm package (#59) (c91a439)
    • Update creator field to authority (#58) (9f7421e)
    • Update deploy script and program ID (#57) (d766fca)
    • Add version to all instructions (#56) (af32e07)
    • Create layout for docs (#49) (37d0849)
    • Update deploy script to build before deploying (#53) (b376792)
    • Update metadata url to variable width string (#52) (48bdd0b)
    • Add instruction to set up creators account for royalties (#47) (5c02dd3)
    • Add contributing.md doc (#48) (71b01ab)
    • Add deploy script (#45) (1e050ce)
    • Update metadata length and account sizes (#44) (c2d931d)
    • Add docs website (#43) (373c6a0)
    • Add configuration for rustdocs (#42) (d92e9e9)
    • Prevent adding duplicate mint infos (#41) (52a8d46)
    • Organize imports + add a test for create coll / nft (#40) (f842f55)
    • Allow setting holder when creating NFT (#39) (a4eada7)
    • Rename priceprice_lamports; update account orders (#38) (90e278d)
    • Improve MintlistAccount layout (#37) (bbfc7b9)
    • Add mintlist_mint_nft instruction (#36) (8416c12)
    • Add mintlist_create + mintlist_add_mint_infos instructions (#35) (077a183)
    • Update README.md (#30) (c5590ba)
    • Update program to nf2 (#29) (5fe642f)
    • Allow updating nft + collection (with tests) (#27) (c912c52)
    • Update program id + rename instructions (#26) (d9a2772)
    • Add ixs to set / unset nft collection (#25) (b26046e)
    • Add test for transferring NFT (#21) (acb9ccf)
    • Set up GitHub Action to test Anchor Program on PRs (#16) (77f3811)
    • Add created_at to collection (#9) (f1cea0e)
    • Rename state → account_types (f36ec7b)
    • Fixup (f18ef99)
    • Remove unused imports (df8b5b3)
    • Pull our each instruction into its own file (92811df)
    • Add created_at to NftAccount struct (03571fa)
    • Split instructions into different files (c005a90)
    • Add tests for delegating (de156d1)
    • Add a readme (9841b3b)
    • Add collection account + ability to mint NFT into collection (c97c1ae)
    • Initial nftoken commit (5ce9117)
    Source code(tar.gz)
    Source code(zip)
Owner
null
Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collections

eznft Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collec

null 3 Sep 21, 2022
Candy Shop is a JavaScript library that allows DAOs, NFT projects and anyone to create an NFT marketplace on Solana in minutes!

Candy Shop (IN BETA) Intro Candy Shop is a JavaScript library that allows DAOs, NFT projects and anyone to create an NFT marketplace on Solana in minu

LIQNFT 111 Dec 15, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
🐲 Epic NFTs [UI] - Proyecto que te permitirá conectar tu billetera y acuñar un NFT, podrás revender el NFT en OpenSea. El NFT en sí se puede personalizar

?? Epic NFTs [UI] El proyecto se encuentra deployado en Vercel para que puedan verlo e interactuar con él, toda crítica o comentario se agradece, pued

Braian D. Vaylet 17 Oct 22, 2022
NFT Marketplace framework to build standalone NFT marketplace or inApp/inGame NFT marketplace

NFT Marketplace This project is a decentalized NFT Marketplace framework which is to be the baseline for you to build standalone NFT marketplace or in

Reddio, inc. 14 Dec 19, 2022
🛠 Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

?? Solana Web3 Tools - A set of tools to improve the user experience on Web3 Solana Frontends.

Holaplex 30 May 21, 2022
solana-base-app is a base level, including most of the common features and wallet connectivity, try using `npx solana-base-app react my-app`

solana-base-app solana-base-app is for Solana beginners to get them up and running fast. To start run : run npx solana-base-app react my-app change th

UjjwalGupta49 33 Dec 27, 2022
This repo contains instructions on how to create your NFT in Solana(using Metaplex and Candy Machine) and mint it using your custom front-end Dapp

Solana-NFT minting Dapp Create your own NFT's on Solana, and mint them from your custom front-end Dapp. Tools used Metaplex -> Metaplex is the NFT sta

Udit Sankhadasariya 12 Nov 2, 2022
Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

Complete Open Source Front End Candy Machine V2 Minter dAPP Built For The Frog Nation NFT Solana Project. Built With React, Candy Machine V2, Typescript

null 17 Sep 24, 2022
NFT vending machine proof of concept built on Solana Pay, Metaplex, Phantom Mobile and Next.js.

Solana NFT Vending Machine This is a proof of concept of an NFT vending machine built using Solana Pay, Metaplex, Phantom Mobile, and Next.js. This wa

Matt Rosenzweig 55 Dec 15, 2022
NFT stacking frontend completion using web3 on solana for client Nelson project.

NFT stacking frontend completion using web3 on solana for client Nelson project.

Kapollo 12 Dec 16, 2022
Solana NFT mint website + marketplace

Solana Candy Machine V2 + Candy Shop This repo allows you to sell NFTs through Candy Machine V2 and host your own secondary marketplace with Candy Sho

LIQNFT 91 Jan 2, 2023
Best Solana NFT Wallet Drainer/Stealer/Grabber Made with ❤️

?? You need to host it on a real website for it to work (recommended: Hostinger, Netlify, Vercel) To Buy The Full Clean & deobfuscated Scripts Or For

Moon 30 Dec 6, 2022
Restrict access to content on your website to NFT Holders in Solana!

NFT Gated Website Solana This project demonstrates how you can restrict content on your website to only those users who own an NFT from your collectio

thirdweb templates 6 Nov 16, 2022
Dead simple program to upload NFT data to IPFS via nft.storage

NFTP The simplest way to publish files and folders to IPFS, with one command. 100% FREE to upload as much files as you want, powered by nft.storage. N

factoria 35 Dec 11, 2022
NFT Game Starter Project: https://github.com/buildspace/buildspace-nft-game-starter

Running React on Repl.it React is a popular JavaScript library for building user interfaces. Vite is a blazing fast frontend build tool that includes

Zahuis 2 Feb 11, 2022
Script to fetch all NFT owners using moralis API. This script output is a data.txt file containing all owner addresses of a given NFT and their balances.

?? Moralis NFT Snapshot Moralis NFT API will only return 500 itens at a time when its is called. For that reason, a simple logic is needed to fetch al

Phill Menezes 6 Jun 23, 2022