Recommended Prerequisites:
- Solid understanding of programming concepts including data structures, algorithms, and networking.
- Proficiency in at least one legacy programming language (e.g., Python, JavaScript, or Java).
- Familiarity with command-line tools on any operating system.
- Knowledge of developer concepts like SDKs, APIs, and application development tools.
- Experience in building end-to-end tiered applications for enhanced learning outcomes.
Course Outline:
Lesson 1: Introduction to Blockchain and Smart Contracts
- 1.1 Origin of Blockchain
- 1.2 What is Blockchain?
- 1.3 Consensus Mechanisms
- 1.4 What are Smart Contracts?
- 1.5 Bitcoin Blockchains
Lesson 2: Ethereum Virtual (EVM) and Solidity Basics
- 2.1 What is an EVM and Ethereum?
- 2.2 Wallets Introduction and Creation
- 2.3 Introduction to Remix Editor with Metamask
- 2.4 Smart Contract Basic Structure
- 2.5 Variables, If/Else, Strings, Loops, Arrays, Test Tokens
Lesson 3: Advanced Solidity and Structures
- 3.1 Libraries, Interfaces, Modifiers
- 3.2 Structures, Enums, ABI, Calldata, Events, and Transfers
- 3.3 Contract-to-Contract Calls
- 3.4 Address and Address Payable
- 3.5 Receive and Fallback Functions
- 3.6 Upgradeable Contracts
- 3.7 Openzepplin Libraries
Lesson 4: Tokenization and NFTs
- 4.1 ERC20 Token Creation
- 4.2 NFT, NFT Minting, IPFS, Security, and Pinata Cloud
Lesson 5: Development Tools and Techniques
- 5.1 Truffle, Ganache, and Hardhat
- 5.2 Metamask Wallet
- 5.3 Remix Development Environment
- 5.4 Localnet and Testnet Deployment
Lesson 6: DApp Integration and Testing
- 6.1 Web3.0 Integration with JS
- 6.2 Wallet Creation and Sending Transactions
Lesson 7: Introduction to Private Blockchains – Hyperledger Fabric
- 7.1 Public Vs Private vs. Consortium Blockchain Frameworks
- 7.2 Introduction to the Hyperledger Fabric
- 7.3 Hyperledger Projects
Lesson 8: Deep Dive into Hyperledger Fabric
- 8.1 Basic Concepts of HLF
- 8.2 Docker Introduction
- 8.3 Commands and Setup
Lesson 9: Golang Programming for Hyperledger Fabric
- 9.1 Installation and Path Setup
- 9.2 VS Code Plugin Setup, Variables, Strings, Conditional Statements, and Loops
- 9.3 Basics of the Language
Lesson 10: Chaincode Structure and Error Handling
- 10.1 Chain code Explanation using Fabric Samples and Test-network Explanation using Linux Scripting
- 10.2 Error Handling
- 10.3 Error Codes and Messages
- 10.4 Logging Errors
- 10.5 Handling Panics
Lesson 11: Custom Chaincode
- 11.1 Extending the Default Chaincode
- 11.2 Chaincode Deployment
- 11.3 REST API Integration with Front End