# 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