BuidlGuidl / batch10.buidlguidl.com

Home base for BuidlGuidl's 10th Batch of Buidlers
https://batch10.buidlguidl.com
MIT License
3 stars 8 forks source link

8. Get your Batch Graduation NFT! #3

Open phipsae opened 2 weeks ago

phipsae commented 2 weeks ago

Goal

Get your graduation NFT! 🎓

💡 This issue doesn't require you to raise a PR, just get yourself the completion NFT. Create a local branch to work on this.

WARNING: You are only able to mint one NFT on mainnet, so be careful when adjusting metadata and testing to only graduate once on mainnet.

BatchGraduationNFT contract

The BatchGraduationNFT contract is deployed on Optimism.

Check it out on Etherscan Check it out on abi.ninja

You can find the contract code in packages/hardhat/contracts/BatchGraduationNFT.sol. It's also available in the externalContracts.ts file in packages/nextjs/contracts/ (for front-end use in future issues).

Get your Batch Graduation NFT

1. Create your own branch

Before you begin, make sure you're working on a separate branch. Here's how:

  1. Clone the repo to your local machine (If you haven't already)
  2. Navigate to the cloned directory in your terminal.
  3. Create a new branch using git checkout -b [your-branch-name]

2. Spin up Your Local SE-2

Set up your local environment:

  1. Run yarn install (install dependencies)
  2. Run yarn start (starts SE2 front-end)
  3. Go to http://localhost:3000/. You should see SE-2 app.

💡 You'll notice that the dApp points to the Optimism chain. Check the scaffold.config.ts file to see how it's configured.

3. Understand the graduate Function


Check out the graduate function in the BatchRegistry.sol contract. After performing some validation checks, this function calls the mint function of the BatchGraduationNFT.sol contract to mint your NFT. Review the BatchGraduationNFT.sol contract to see how it works.

4. Set Up a Metadata Contract


You’ll need to deploy a Metadata Contract to set attributes (like color and name) for your personal NFT.

  1. Create a Metadata.sol contract in packages/hardhat/contracts/.
  2. You can interact with the BatchGraduationNFT in the /debug page.

5. Deploy and Interact

  1. Update the BatchGraduationNFT.sol contract with the address of your Metadata Contract.

Once everything is set up, you can call the graduate function on the BatchRegistry contract.

6. View Your NFT:

Check if it appears on OpenSea or other platforms!

✅ Congrats you have now completed the Graduation NFT Challenge! Make sure to share it in the telegram! 🎉


Outline:

(Everything is very open to suggestions!)