SolidNoob

NFTs

This is my first project (I call it an Inverted Project) targeted for web2 developers learning about web3.

No web3 prerequisites are required. You only need to be familiar with traditional web2 development.

In this project, you will learn about the following:

  • Blockchain/web3 basics
    • How blockchains work (nodes, API providers, identities, etc)
    • How to talk to the Ethereum blockchain using Alchemy
    • How web3 development differs from web2 (auth, storage, events, etc)
  • Smart contracts and Solidity syntax
    • How to use web3 tools like Foundry and Ethers.js to write smart contracts
    • How to read smart contracts using Etherscan and OpenSea
    • How to interact with smart contracts using wallets and API providers
    • Learn Solidity syntax by reading breakdowns of smart contracts
  • How NFTs work under the hood
    • Write an NFT contract from scratch
    • ERC-721 standard
    • On-chain vs off-chain tokenUri
    • Read many successful NFT projects’ contracts and the reasoning behind them
  • Cool NFT tricks
    • Gas optimizations and tradeoffs, upgradeability, server-generated EIP-712 signatures
    • Contract security (guarding against reentrancy attack and others)
    • Creative/unorthodox contracts
    • Major NFT fails

You will also get to create your own unorthodox NFT contract. I will provide some ideas for inspiration and you will have access to a Discord channel so that you can get help during development.

What are Inverted Projects (IPs)?

IPs are mini-courses meant to invert your learning. Instead of learning a bunch of theory and then practicing, you start with as much hands-on learning as possible and learn the theory along the way.

This way of learning is much more fun and effective.

IPs assume no/minimal prerequisite knowledge and they are anchored to real-world results and use cases rather than just theory. You start by building instead of reading long and boring articles. In the end, you get to show off your knowledge by building something tangential.

NFT IP (this one) is my first IP. Here, you will learn about NFTs. According to my inverted learning principle, you won’t be listening to me giving you hour-long lectures or you reading long boring articles. We will start right away by exploring a popular NFT contract and interacting with it.

I remember back when I started my web3 journey. I started by trying to read the BAYC contract. I was so lost. You will also be lost because there will be so many new things thrown at you. But that’s what I’m for. I broke down this project in a careful sequence so that you don’t feel lost. I will guide you carefully but also in a relatively fast way so that it does not become boring.

I am planning to create more IPs for web3 topics like: DeFi, Solana, math for web3, zero-knowledge, and internal data structure of blockchains. Stay tuned.

About the author

My name is Nazar. I currently explore web3 by writing articles and building small projects (all of which can be found here on solidnoob).

In the daytime, I’m a software engineer at Google and I also graduated from MIT.

I fell in love with education recently so I’m kind of a software engineer transitioning to an educator. I feel like our traditional education system is antique and should be replaced with modern methods. So, I’m experimenting with new education methods.

I hang out on Twitter. You can DM me there if you want to chat.

How much does it cost?

My plan is to create more IPs in the future and they will cost around $50. This cost includes lifetime access to the course content and to a Discord community. But since this is my first IP, I will make it free.

Ideal audience

  • web3/solidity beginners looking for their first real project.
  • NFT builders: might be developers, designers, or PMs looking to create their own NFT projects.
  • web2 devs who want to dip their toes or switch completely to web3.

Get access to the project

This project is WIP. I am planning to finish it by the beginning of September.

In the meantime, follow me on Twitter to hear updates about the course.

FAQs

  • What’s the timeline? No timeline. Finish whenever you want. But my expectation is that it will take around 2-3 weeks with average effort.
  • More to come.