Learn Solidity, Blockchain, and Smart Contracts with this Full Free Course
Tags: solidity, blockchain, python, ethereum
Published: 2021-09-10 03:40:10

FreeCodeCamp has just released an entire [Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial](https://www.youtube.com/watch?v=M576WGiDBdQ) 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](https://github.com/smartcontractkit/full-blockchain-solidity-course-py) or [code samples](https://github.com/smartcontractkit/full-blockchain-solidity-course-py) 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. 


[![Learn Solidity and Blockchain](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g7daucnq5a8lpijqjcpj.jpeg)](https://www.youtube.com/watch?v=M576WGiDBdQ)

You can also watch the amazing trailer for the video here.

[![Learn Solidity and Blockchain](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4xviifnfisbygj7dsdy2.png)](https://www.youtube.com/watch?v=iGtioP5mrew)


⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️

## 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=0s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=393s)

> Foundational conceptual information about what [blockchains](https://www.investopedia.com/terms/b/blockchain.asp) actually are, what makes smart contracts so special, and how hybrid smart contracts and [oracles](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) make smart contracts even more impactful. 

⌨️ [(01:31:00) Lesson 1: Welcome to Remix! Simple Storage](https://www.youtube.com/watch?v=M576WGiDBdQ&t=5460s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=7772s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=8795s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=12408s)

> We level up our coding environments by moving from Remix to our own local text editors, and start using python and [web3.py](https://web3py.readthedocs.io/en/stable/) 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=16075s)

> Here is where we learn the most powerful tool that we are going to "live" in for the rest of the course, [Brownie](https://eth-brownie.readthedocs.io/en/stable/)! 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=18394s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=22298s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=30062s)

> This quick lesson shows the layout of the [chainlink-mix](https://github.com/smartcontractkit/chainlink-mix) which is a [brownie mix](https://github.com/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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=30205s)

> 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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=30893s)

> An incredible dive into the world of #DeFi and what makes it so special. We learn how to interact with the [Aave](https://aave.com/) 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. 

⌨️ [(09:50:20) Lesson 11: NFTs](https://www.youtube.com/watch?v=M576WGiDBdQ&t=35420s)

> 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](https://opensea.io/).

⌨️ [(11:49:15) Lesson 12: Upgrades](https://www.youtube.com/watch?v=M576WGiDBdQ&t=42555s)

> A very advanced tutorial on deploying contracts that can be upgraded using the [transparent proxy pattern](https://blog.openzeppelin.com/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](https://www.youtube.com/watch?v=M576WGiDBdQ&t=46086s)

> 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.](https://www.freecodecamp.org/news/learn-typescript-with-this-crash-course/)

⌨️ [(16:14:16) Closing and Summary](https://www.youtube.com/watch?v=M576WGiDBdQ&t=58456s)

> 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](https://github.com/smartcontractkit/full-blockchain-solidity-course-py), 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](https://code.visualstudio.com/) and a number of dependencies installed. Don't worry, we go over everything!

Be sure to @ me at [@patrickalphac](https://twitter.com/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](https://discord.gg/9zk7snTfWe)
- [Ethereum Discord](https://ethereum.org/en/)
- [Chainlink Discord](https://discord.gg/2YHSAey)
- [Reddit ethdev](https://www.reddit.com/r/ethdev/)

### Hackathons
  - [CL Hackathon](https://chain.link/hackathon)
  - [ETH Global](https://ethglobal.co/)
  - [ETH India](https://twitter.com/ETHIndiaco)

### Learning More
- [CryptoZombies](https://cryptozombies.io/)
- [Dapp University](https://www.youtube.com/channel/UCY0xL8V6NzzFcwzHCgB8orQ)
- [ChainShot](https://www.chainshot.com/courses)
- [Ivan on Tech](https://academy.ivanontech.com/)
- [Eat the Blocks](https://www.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA)
- [Patrick Collins](https://www.youtube.com/channel/UCn-3f8tw_E1jZvhuHatROwA)
- [Austin Griffith](https://www.youtube.com/channel/UC_HI2i2peo1A-STdG22GFsA)
- [Nader Dabit](https://www.youtube.com/user/boyindasouth)
- [Ethereum.org](https://ethereum.org/en/)