Home

Awesome

Big Update: New Sepolia Faucet Located Here. \Kovan, Ropsten, and Rinkeby have been deprecated. Goerli Still works but we highly recommend Sepolia as its proof of stake based.

You'll need to verify via Twitter to get ETH & LINK. You can find Backup Faucets here.

Additionally, lesson 7 uses Chainlink VRF v1 instead of v2, you can find the docs for Chainlink VRFv1 here.

YouTube Video

<br/> <p align="center"> <a href="https://www.youtube.com/watch?v=M576WGiDBdQ" target="_blank"> <img src="./img/youtube_thumbnail.jpeg" width="350" alt="Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial"> </a> </p> <br/>

Welcome to the repository for the Ultimate Solidity, Blockchain, and Smart Contract - Beginner to Expert Full Course | Python Edition FreeCodeCamp course!

Table of Contents

Resources For This Course

Questions

Windows Support

Hiccups/Issues from the Video

Lesson 0: Welcome To Blockchain

What is a Blockchain?

Making Your First Transaction

How Do Blockchains Work?

Consensus

The Future

Miscellaneous

Lesson 1: Welcome to Remix! Simple Storage

💻 Code: https://github.com/PatrickAlphaC/simple_storage

Everything in this section can be read about in the Solidity Documentation

Remix

Basic Solidity

Deploying to a "Live" network

Lesson 2: Storage Factory

💻 Code: https://github.com/PatrickAlphaC/storage_factory

Inheritance, Factory Pattern, and Interacting with External Contracts

Lesson 3: Fund Me

💻 Code: https://github.com/PatrickAlphaC/fund_me

Payable, msg.sender, msg.value, Units of Measure

Chainlink Oracles

Importing from NPM and Advanced Solidity

Lesson 4: Web3.py Simple Storage

💻 Code: https://github.com/PatrickAlphaC/web3_py_simple_storage

Installing VSCode, Python, and Web3

Our First Python Script with Web3.py - Deploying a Contract

Interacting with Our Contract in Python & Web3.py

Lesson 5: Brownie Simple Storage

💻 Code: https://github.com/PatrickAlphaC/brownie_simple_storage

Brownie Introduction

Installing Brownie

Brownie Simple Storage Project

Testing Basics

[Brownie console]

Lesson 6: Brownie Fund Me

💻 Code: https://github.com/PatrickAlphaC/brownie_fund_me

Introduction

Dependencies, Deploying, and Networks

Funding and Withdrawing Python Scripts

Testing across networks

Git

Compatibility with Ganache UI

E           ValueError: Execution reverted during call: 'VM Exception while processing transaction: revert'. This transaction will likely revert. If you wish to broadcast, include `allow_revert:True` as a transaction parameter.

More information here.

Lesson 7: SmartContract Lottery

💻 Code: https://github.com/PatrickAlphaC/smartcontract-lottery

Chainlink VRF v1 docs

Introduction

Lottery.sol

Testing Lottery.sol

Lottery.sol Testnet Deployment

Lesson 8: Chainlink Mix

💻 Code: https://github.com/smartcontractkit/chainlink-mix

Brownie Mixes

Lesson 9: ERC20s, EIPs, and Token Standards

💻 Code: https://github.com/PatrickAlphaC/erc20-brownie-py

Lesson 10: Defi & Aave

*NOTE: This repo is now archived as kovan is no longer supported. You can still follow along with the learning, but know the code may not work the same on a different testnet.

💻 Code: https://github.com/PatrickAlphaC/aave_brownie_py_freecode

Defi Intro

Aave UI

Programmatic Interactions with Aave

Testing

Lesson 11: NFTs

💻 Code: https://github.com/PatrickAlphaC/nft-demo

Non-Technical Explainer

Simple NFT

SimpleCollectible Testing

Advanced NFT

Advanced deploy_and_create

Creating Metadata & IPFS

Lesson 12: Upgrades

💻 Code: https://github.com/PatrickAlphaC/upgrades-mix

Introduction to upgrading smart contracts

Upgrades-mix and code

Testing Upgrades

Upgrades on a testnet

Bonus Lesson 13: Full Stack Defi

Note: This section is archived as kovan is now deprecated. If you're looking to learn more Full-stack, check out the full stack portions of the hardhat/javascript video.

Link to hardhat/javascript video with more full-stack examples: https://github.com/smartcontractkit/full-blockchain-solidity-course-js

💻 Code: https://github.com/PatrickAlphaC/defi-stake-yield-brownie-freecode

Defi Stake Yield Brownie Scripts & Tests

Testing our Defi Stake Yield Brownie Dapp

Front End / Full Stack

Shoutout to Matt for the help on the front end!

Closing and Summary

Security

Where do I go now?

Learning More

Community

Hackathons

Be sure to check out project grant programs!

Vyper

From solidity course to vyper

And make today an amazing day!