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
- 1
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
- 2
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
- 3
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
- 4
Lesson 4: Tokenization and NFTs
- 4.1 ERC20 Token Creation
- 4.2 NFT, NFT Minting, IPFS, Security, and Pinata Cloud
- 5
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
- 6
Lesson 6: DApp Integration and Testing
- 6.1 Web3.0 Integration with JS
- 6.2 Wallet Creation and Sending Transactions
- 7
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
- 8
Lesson 8: Deep Dive into Hyperledger Fabric
- 8.1 Basic Concepts of HLF
- 8.2 Docker Introduction
- 8.3 Commands and Setup
- 9
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
- 10
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
- 11
Lesson 11: Custom Chaincode
- 11.1 Extending the Default Chaincode
- 11.2 Chaincode Deployment
- 11.3 REST API Integration with Front End
Materials
All necessary course materials are included.
System requirements
Minimum technical expectations for the online learning environment. Your IT team can use this as a checklist.
Internet connectivity
Cable, Fiber, DSL, or LEO Satellite (i.e. Starlink) internet with speeds of at least 10mb/sec download and 5mb/sec upload are recommended for the best experience.
While cellular hotspots may allow access to our courses, users may experience connectivity issues by trying to access our learning management system. This is due to the potential high download and upload latency of cellular connections. Therefore, it is not recommended that students use a cellular hotspot as their primary way of accessing their courses.
Hardware
- CPU: 1 GHz or higher
- RAM: 4 GB or higher
- Resolution: 1280 x 720 or higher. 1920x1080 resolution is recommended for the best experience.
Speakers / Headphones Microphone for Webinar or Live Online sessions.
Operating system
Windows 7 or higher. Mac OSX 10 or higher. Latest Chrome OS Latest Linux Distributions.
While we understand that our courses can be viewed on Android and iPhone devices, we do not recommend the use of these devices for our courses. The size of these devices do not provide a good learning environment for students taking online or live online based courses.
Web browser
Latest Google Chrome is recommended for the best experience. Latest Mozilla FireFox Latest Microsoft Edge Latest Apple Safari.
Recommended software
Office suite software (Microsoft Office, OpenOffice, or LibreOffice) PDF reader program (Adobe Reader, FoxIt) Courses may require other software that is described in the above course outline.
Ready for a team proposal?