Learn Solidity, Blockchain, and Smart Contracts with this Full Free Course
Patrick Collins
Posted on September 10, 2021
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!
Each section comes with either additional reading or code samples all available in the giant mega GitHub repo associated with the course:
👩💻 GitHub Repo: https://github.com/smartcontractkit/full-blockchain-solidity-course-py
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.
⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️
Who is this for?
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.
Course Layout
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!
⌨️ (00:06:33) Lesson 0: Welcome To Blockchain
Foundational conceptual information about what blockchains actually are, what makes smart contracts so special, and how hybrid smart contracts and oracles make smart contracts even more impactful.
⌨️ (01:31:00) Lesson 1: Welcome to Remix! Simple Storage
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.
⌨️ (02:09:32) Lesson 2: Storage Factory
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!
⌨️ (02:26:35) Lesson 3: Fund Me
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!
⌨️ (03:26:48) Lesson 4: Web3.py Simple Storage
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...
⌨️ (04:27:55) Lesson 5: Brownie Simple Storage
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!
⌨️ (05:06:34) Lesson 6: Brownie Fund Me
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!
⌨️ (06:11:38) Lesson 7: SmartContract Lottery
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!
⌨️ (08:21:02) Lesson 8: Chainlink Mix
This quick lesson shows the layout of the chainlink-mix which is a brownie mix that allows us to start a hybrid smart contract project right from the get-go!
⌨️ (08:23:25) Lesson 9: ERC20s, EIPs, and Token Standards
We learn how to create our own ERC20 blockchain token! We also learn about different versions of solidity, and more!
⌨️ (08:34:53) Lesson 10: Defi & Aave
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.
⌨️ (11:49:15) Lesson 12: Upgrades
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
delegatecall
.
⌨️ (12:48:06) Lesson 13: Full Stack Defi
We now add a front-end! We don't go deep into how to create front-ends, so if you're a little new on typescript or javascript, you might want to watch FreeCodeCamps Typescript crash course.
⌨️ (16:14:16) Closing and Summary
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.
How to watch
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.
What should I be expected to use?
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!
Community
- Twitter - Just get on Twitter and say hi to someone!
- Brownie Discord
- Ethereum Discord
- Chainlink Discord
- Reddit ethdev
Hackathons
Learning More
Posted on September 10, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
September 10, 2021