# Create a simple collection of POA NFTs on Rockmine ## Goals: * Mint an NFT collection on Rockmine, the assets parachain on Rococo * Launch the UI for users to claim their NFTs * Learn the advantages of using a common good parachain for minting a POAP collection ## Prelude Polkadot and Kusama each have their system parachains for enabling anyone to create their custom NFT collections. There are several reasons why creating NFTs using these chains is a more secure option than minting supplies using smart contracts or using other parachains. But we'll leave that to a separate blog. In this guide we'll learn how to cretae your own NFT collections for a POAP use case. You can learn how to mint single NFTs in [this tutorial](https://www.youtube.com/watch?v=j8YdWOSSm5Q) using singular.app's slick UI. But what if you were running an event and wanted to create POA (proof of attendence) NFTs for your guests? At a very high level, to achieve this you'd need to create a collection and create a way to get attendees to claim their NFT. To achieve this we'll use: * A CLI to help an event organizer to create a collection * A UI for attendees to claim their NFT Note: the minting process will change once the assets parachains are updated with the new NFT pallet (see [#12765](https://github.com/paritytech/substrate/pull/12765)). This guide is mainly for educational purposes. ### What you'll need To complete this guide, you'll need an account on [Pinata](https://www.pinata.cloud/), the [Polkadot JS extension](https://polkadot.js.org/extension/) to sign transactions, an account with ROC tokens and an image you want to pin to the collection. ## Steps ### Minting 1. Connect to Rockmine. * Import the Alice account and use it to send ROC to your adress. Use here secret seed to import it: `0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a` 2. Prepare the image you want to mint and put them in the CLI directory 3. Clone [this repo](https://github.com/paritytech/uniques-campaign-runner) to help you mint the collection, open it in a code editor and npm install. 4. Update the fields in the `workflow.json` with your key mnemonic that you want to use to create the collection. - Remove the `initial_funds` line. - Set the instance metadata on chain. 7. Update it with your Pinata api keys. 8. Run `uniqcamp run workflow.json` This will mint the collection and populate the CSV with unique codes that users can use to claim their NFT. What's left is to launch a UI to make it easy to claim the minted NFTs. ### Claiming From source: 1. Follow the installation instructions: https://github.com/hamidra/dotdrop/tree/polkadot-nft 2. Change the `"PROVIDER_SOCKET":` in `src/config` to `wss://rococo-rockmine-rpc.polkadot.io` 3. Paste an ID into the UI to claim the NFT to a specific address and submit your transaction. Or from browser: 1. Go here: https://claimnft.kusama.network/?rpc=wss://rococo-rockmine-rpc.polkadot.io#/claim 2. Claim your NFT using one of the codes from the generated CSV file. ### Viewing You can view the file associated with the IPFS hash found in the `metadata` file generated by the minting script. Alternatively, you can view this in the on-chain metadata of the collection you created. Here's the link of the pinned image we created in this guide: https://gateway.pinata.cloud/ipfs/QmTJfMZ8b4aaMXfUkExS2mtQEbw4iPfn556Md92ccgbhMs