Skip to content

turmeric-blend/CuriousKid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Curious Kid - NFT Project

NFT as a collectible

alt

Presentation Slides

Full scope of Curious Kid (some parts not covered in video submission): https://docs.google.com/presentation/d/1KcocioDvgS5a9oUONwC90rVMvaLUDNF004s-Ij3GsJ0/edit?usp=sharing

Video Submission

https://youtu.be/aH5rzrp4AmY

Description

  • Mint your very own Curious Kid from a collection size of 128
  • Curious users can mint their very own Curious Kid at https://curiouskid.netlify.app/
  • Curious Kid guarantees that each NFT minted is unique
  • It's contract allow creators to have stable earnings
  • Perfect as gifts to kids. No time like the present to get them started on their blockchain journey.

Features

1. Mathematically Guaranteed Uniqueness

alt

What is a powerset?

2. Sets Token URI on-chain

alt

3. EIP-2981 Royalty Standard

Curious Kid implements the EIP-2981 Royalty Standard that allows for marketplaces to implement on-chain royalty. This allows artist and developers to earn their fair share each time a sale on their NFT occurs - backed by the power of decentralization.

4. Mystery & Excitement

Curious Kid owners (deployers) can optionally hide the NFT images even after mint, and reveal it after awhile, to create some fun and excitement around the minting process - perfect for kids, great for learning. alt

How it works

alt

Future Direction

  • Deploy to Polygon mainnet
  • Expand collection
  • Airdrop to schools, get kids interested
  • Showcase the Royalty Standard further empowering creators/artists

How to use

Curious Kid consists of 2 parts, the backend and frontend.

Backend - requires both python and node.js

~$ cd backend
~$ npm install
NFT Art Generation
  1. Change the assets_demo folder name to assets
  2. Open NFT Art Generator.ipynb, and follow the instructions and each cell
  3. after going through the notebook, the following should have occured:
    • assets/images/main and assets/metadata/main folder should be populated with 8 images and metadata respectively
    • image and URI metadata should have been uploaded to nft.storage and obtain CIDs
Deploying to Rinkeby/Polygon Testnets
  1. copy the CIDs and replace them with the CIDs in initBaseURI and temporaryURI of deploy/1_deploy.js
  2. run npx hardhat deploy --network rinkeby to deploy and try it out!
  3. deployed_contract_details folder should have been created after deployment, copy this into frontend folder's src folder to get started with the DAPP to interact with contract

Frontend

~$ cd frontend
~$ npm install
~$ npm start

Testing

~$ cd backend
~$ npx hardhat test

or for a summary of contract test coverage

~$ cd backend
~$ npx hardhat coverage

Helpful Tasks

  1. check contract size
~$ yarn run hardhat size-contracts

Extras

marketplace.sol is a contract to demo EIP-2981 Royalty Standard.