Skip to content

maestroh1git/full-blockchain-solidity-course-js

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

32 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

All code references have both a javascript and a typescript edition.

Recommended Testnet: Rinkeby

Testnet Faucets: https://faucets.chain.link

Resources For This Course

Questions

Table of Contents

Lesson 0: The Edge of the Rabbit Hole

  • Welcome to the course!
  • Why do you want to embark on this journey?
  • Best Practices

Lesson 1: Blockchain Basics

What is a Blockchain?

Making Your First Transaction

How Do Blockchains Work?

Consensus

πŸ’» Code: https://github.com/PatrickAlphaC/simple-storage-fcc

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

Basic Solidity

  • Versioning
  • Compiling
  • Contract Declaration
  • Types & Declaring Variables
  • Default Initializations
  • Comments
  • Functions
  • Deploying a Contract
  • Calling a public state-changing Function
  • Visibility
  • Scope
  • View & Pure Functions
  • Structs
  • Intro to Storage
  • Arrays - Dynamic & Fixed sized
  • Compiler Errors and Warnings
  • Memory, storage, calldata
  • Mappings
  • SPDX License
  • Recap

Deploying to a "Live" network

  • A testnet or mainnet
  • Find a faucet here
  • Connecting Metamask
  • Interacting with Deployed Contracts
  • The EVM

Lesson 3: Remix Storage Factory

πŸ’» Code: https://github.com/PatrickAlphaC/storage-factory-fcc

Lesson 4: Remix Fund Me

πŸ’» Code: https://github.com/PatrickAlphaC/fund-me-fcc

Lesson 5: Ethers.js Simple Storage

Installation & Setup!

Windows Only:

πŸ’» Code: https://github.com/PatrickAlphaC/ethers-simple-storage-fcc

    "[solidity]": {
        "editor.defaultFormatter": "NomicFoundation.hardhat-solidity"
    },

In your .vscode/settings.json file.

More information:

Lesson 6: Hardhat Simple Storage

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-simple-storage-fcc

Typescript:

yarn add --dev @typechain/ethers-v5 @typechain/hardhat @types/chai @types/node @types/mocha ts-node typechain typescript

Lesson 7: Hardhat Fund Me

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-fund-me-fcc

Lesson 8: HTML / Javascript Fund Me (Full Stack / Front End)

πŸ’» Code: https://github.com/PatrickAlphaC/html-fund-me-fcc

Lesson 9: Hardhat Smart Contract Lottery

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-smartcontract-lottery-fcc

  • Install dependencies:
yarn add --dev @nomiclabs/hardhat-ethers@npm:hardhat-deploy-ethers ethers @nomiclabs/hardhat-etherscan @nomiclabs/hardhat-waffle chai ethereum-waffle hardhat hardhat-contract-sizer hardhat-deploy hardhat-gas-reporter prettier prettier-plugin-solidity solhint solidity-coverage dotenv

Sub-Lesson: Events & Logging

Sub-Lesson: Chainlink VRF

Sub-Lesson: Chainlink Keepers

Recommended LINK amounts for Rinkeby Staging Test:

  • Chainlink VRF: 2 LINK
  • Chainlink Keepers: 8 LINK

Lesson 10: NextJS Smart Contract Lottery (Full Stack / Front End)

πŸ’» Code: https://github.com/PatrickAlphaC/nextjs-smartcontract-lottery-fcc

We moving into using NextJS for our front end. NextJS is a React framework for building websites.

Optional Sub-Lesson: Full Stack Development & Other Libraries

The Rest of this Lesson

yarn create next-app .

Lesson 11: Hardhat Starter Kit

πŸ’» Code: https://github.com/smartcontractkit/hardhat-starter-kit

Lesson 12: Hardhat ERC20s

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-erc20-fcc

Lesson 13: Hardhat DeFi & Aave

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-defi-fcc

  • 5 minute speedrun ethereum ft. XXX

Lesson 14: Hardhat NFTs (EVERYTHING you need to know)

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-nft-fcc

1. IPFS / SVG On-Chain
2. Randomization
3. Trading Cards / Stats
4. Challenge

Lesson 15: NextJS NFT Marketplace

πŸ’» Code: (In Progress)

1. Using Moralis
2. Using Graph Protocol

Lesson 16: Hardhat Upgrades

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-upgrades-fcc

1.  Parameter
2.  Social Migrate
3.  Proxy
    1.  [Metamorphic Upgrades](https://github.com/PatrickAlphaC/hardhat-metamorphic-upgrades-fcc)
        1. Collisions
        2. [opcodes](https://etherscan.io/opcode-tool)
    2.  Transparent
    3.  UUPS
    4.  Diamond
4.  Low level `delegatecall`
5.  Gas optimizations

Lesson 17: Hardhat DAOs

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-dao-fcc

1. Encode data
2. Function selectors & signatures
3. abi.encodePacked, vs abi.encode etc
4. Challenge

Lesson 18: Security & Auditing

πŸ’» Code: https://github.com/PatrickAlphaC/hardhat-security-fcc

1. Reentrancy
2. Flash Loans Attacks
3. Top Tools
4. Challenge

Where do I go now?

Learning More

Community

Hackathons

Be sure to check out project grant programs!

And make today an amazing day!

Improvements from the Python edition:

  1. Videos are split into 2 -> 15 minute sections
  2. Javascript & Typescript edition of code
  3. Deeper explainer of:
    1. Stackoverflow
    2. Stack Exchange ETH
    3. How to ask good questions & get help
  4. Aave lesson improvements
  5. Fundme lesson improvements
  6. Not using sleep to wait for tx to complete
  7. Front end stuff
  8. TODO: Explain EIP-1559 at some point... maybe after blockchain explainer, but before coding.

optional JS seciton? Async, Arrow functions, yarn

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published