Update January 2023: The first group of projects is now fully available. The "Available interactive projects" section has been added to list the completed practice projects. The newly available projects are "Learn Digital Ledgers by Building a Blockchain", "Learn Proof of Work Consensus by Building a Block Mining Algorithm", and "Learn Digital Signatures by Building a Wallet".
Over the past 11 months, we've made considerable progress on our Web3 curriculum. Today I'm thrilled to say that parts of this curriculum are now in open beta. You can try them today.
Before we get into the details, I want to thank the KaijuKingz community, who made a donation to freeCodeCamp that made development of these courses possible. You can read more about their gift to the freeCodeCamp community here.
How to Approach These Web3 Courses
As a prerequisite for this course, we recommend first learning full stack web development. You can do this by working through the first 7 freeCodeCamp certifications and building their projects:
- Responsive Web Design
- Front End Development Libraries
- Data Visualization
- Relational Database
- Back End Development and APIs
- Quality Assurance
We also recommend you know some knowledge of basic blockchain development concepts. freeCodeCamp has an in-depth 32-hour course that covers this, taught by developer and instructor Patrick Collins.
We also recommend learning some Rust, which you can learn interactively using freeCodeCamp's Rust course.
Again, these prerequisites are just our recommendations. Feel free to just dive in and return to those resources as you see fit.
Right now, we have designed five integrated Web3 projects for you to complete:
- Build a Video Game Marketplace Blockchain
- Build a Fundraising Smart Contract
- Build a Peer-to-Peer Network
- Build a Web3 Client-Side Package for your dApp
- Build a Smart Contract in Rust
Each of these projects has its own set of instructions with tasks for you to fulfill, and tests to ensure you've implemented your project correctly. Complete all the tasks and get all the tests to pass to finish each project.
These 5 projects are just the beginning
We are also developing 10 interactive Web3 practice projects.
These will walk you through all the Web3 concepts you need to know to build these 5 integrated projects we're releasing today.
Why are we releasing the hard part (the 5 integrated projects) first? For the die-hard Web3 enthusiasts who don't mind using watching Patrick's course, reading official documentation, and referencing the many other free Web3 tutorials out there.
Soon it will be a smoother ride for anyone to learn these tools and concepts. But we wanted to first get something out there for the hardcore crowd.
Available interactive projects
As of January 2023, the first group of interactive practice projects is now fully available. They will teach you the concepts you need to know to complete the first integrated project. The new courses are:
- Learn Digital Ledgers by Building a Blockchain
- Learn Proof of Work Consensus by Building a Block Mining Algorithm
- Learn Digital Signatures by Building a Wallet
The Web3 Curriculum is in open beta. We welcome your feedback and bug reports.
Note that these are in open beta – meaning that we will continue to refine them with your feedback.
You can help by joining our new Web3 Curriculum Discord server, introducing yourself, and helping other people who get stuck trying to build these 5 integrated projects.
You can also sign up for updates These will make it a lot easier to build these 5 integrated projects So in a way, you actually doing the hardest, most ambiguos part Sign up for updates below for when new courses are released.
How will it work?
The courses will run in a docker container using VS Code and the freeCodeCamp Courses extension.
Here's a sample
How to Run the Courses
Follow the steps below to run the courses
Developer Environment Prerequisites
Before you get started, make sure you have these installed on your computer:
How to Run the Curriculum in Docker
Follow these instructions to clone the repo and run the courses:
- Open a terminal and clone the web3-curriculum repo with:
git clone https://github.com/freeCodeCamp/web3-curriculum.git
- Navigate to the
web3-curriculumdirectory, and open it in a VSCode workspace with:
Ctrl / Cmd + Shift + Pto open the command palette, and run
Dev Containers: Rebuild Container and Reopen in Container. VS Code will build the container to run the projects in, it will take a few minutes the first time.
- Once it's finished, press
Ctrl / Cmd + Shift + Pagain and run
freeCodeCamp: Run Courseto start the courses. This will also take a moment.
- The simple browser will open when it's done. If it's a blank white page, use the refresh button to update it and see the courses home page.
- Click on one of the available projects to start a project.
- Follow the instructions to complete the project.
- Have fun!
If you want to switch projects, click the freeCodeCamp logo at the top to get back to the home page.
Sign up for updates
Fill out this google form to receive updates when new courses are released.
We are also creating courses around the Solana and NEAR protocols.
Or, check out the web3.freecodecamp.org domain where we showcase all the courses.