FreeCodeCamp has just released an entire Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial that goes over everything a successful smart contract needs to learn, all jam packed into 1 free 16 hour course.
Taught, by yours truly!
The GitHub Repo has everything you need to be successful in the tutorial and learn solidity.
You can also watch the amazing trailer for the video here.
This course is for ANYONE looking to either get started being a smart contract engineer or get better. If you already have some knowledge, skip to the sections you like! That's why they are timestamped! If you know nothing, then start from the start.
If you don't want to become a developer, even YOU can learn a ton from watching specific sections like the "Welcome to Blockchain" section.
The course is divided into "lessons", which each teach foundational concepts for blockchain development.
⭐️ Course Contents ⭐
⌨️ (00:00:00) Introduction
We introduce the course, and what we are going to go over! We give some helpful resources on where to get help, how best to use the course, and how to pace yourself!
We finally start coding solidity! We learn about the Remix IDE, a powerful tool to deploy our smart contracts. We learn a lot of the basic syntax of solidity. We also learn how to deploy our smart contracts! We build a contract that can store very specific data.
This shorter lesson we learn some advanced topics of solidity, like the factory pattern, where we can deploy smart contracts from other smart contracts. We build a contract that can deploy Simple Storage contracts!
We turn up the heat in this tutorial, where we learn how to deal with paying for things, getting pricing information, working with oracles, and importing code from outside our projects. We build a sample project that can be used to help fund future projects!
We level up our coding environments by moving from Remix to our own local text editors, and start using python and web3.py to build and deploy our smart contracts. We use the same Simple Storage contract that we've been learning with, but with web3.py! Web3.py is a foundational technology to the main one we are going to be using...
Here is where we learn the most powerful tool that we are going to "live" in for the rest of the course, Brownie! This is a smart contract development framework for building, testing, and deploying smart contracts easily. We learn the basics of testing as well, and the layout of a brownie project, yummy!
We get even more familiar with brownie by going over our Fund Me project again, and learning things like verifying out contracts, importing dependencies, forking a blockchain, and more!
Boom! A whole lottery application that we build from scratch! We learn how to set an entrance fee for our lottery, get a random number for a winner, Openzeppelin contracts, events & logging, and more!
We learn how to create our own ERC20 blockchain token! We also learn about different versions of solidity, and more!
An incredible dive into the world of #DeFi and what makes it so special. We learn how to interact with the Aave protocol and use it's composability for us to make incredibly powerful applications ourselves, even if it's 100% off-chain! We learn some advanced DeFi skills like short selling and depositing collateral.
Art, art, art!! 🎨 We learn how to create art on the blockchain, but with unlimited customization, allowing us to make games, generative art, and more! We make a few adorable randomized dogs and deploy them to the blockchain and Opensea.
A very advanced tutorial on deploying contracts that can be upgraded using the transparent proxy pattern. This lesson goes a bit into Yul code, which is the low level code of solidity, and some of the dangers and advantages of
At long last, we end this tutorial, and you leave being an amazing smart contract engineer! We talk about joining the community, where to go next, and how to live with this newfound skill of yours!
You can see a more detailed inventory in the GitHub repo, it's very thorough.
This is a course that is long, so don't go through the whole thing in 1 go! 30 minutes at a time is perfect, and will give your brain plenty of time of absorb all the information you're getting and make you a better smart contract engineer.
Maybe even grab a buddy to keep each other accountable, by the end of the course, you'll have years of experience under your belt already! This course is an entire data dump of knowledge from years of working with smart contracts.
You'll want a text editor like Visual Studio Code and a number of dependencies installed. Don't worry, we go over everything!
Be sure to @ me at @patrickalphac if you enjoyed the content or learnt something. Joining the community is one of the best ways to continue learning, and put your skills to use!
- Twitter - Just get on Twitter and say hi to someone!
- Brownie Discord
- Ethereum Discord
- Chainlink Discord
- Reddit ethdev