5 Day Blockchain Essentials Bootcamp for Developers and Engineers
This is a 5-day intensive hands-on bootcamp for potential blockchain developers and engineers. It will be a fast paced program where participants will learn the broad based technologies of Blockchain including distributed ledger, cryptography and comparison of private and public blockchain platforms. The bootcamp will also go in-depth into Ethereum, one of the world’s most popular blockchain platforms and have hands-on lab on Solidity smart contract programming language.
The class will end with a Capstone Project where the participants will build an End to End Development of a DAPP using either “ETHEREUM + SOLIDITY”.
There will be a short quiz at the end of the course to assess the students’ knowledge and a certificate of completion will be issued.
Topics Covered:
Day 1
- Overview of Blockchain Ecosystem
- History and evolution of blockchain
- Blockchain Ecosystem Map
- Key Players in Blockchain Ecosystem
- Blockchain and Distributed Ledger Technology
- Cryptographic hashing
- Blockchain structure
- Distributed Ledger
- Digital signature
- Merkle Trees
- Blockchain info
- Wallets, Addresses and Security
- Public and Private Keys
- Hardware, Software and Paper Wallets
- Online and Offline Wallet Security
- Cryptocurrency addresses
- Consensus Algorithms and Mining
- Different Types of Consensus Algorithms including Proof of Work, Proof Stake, Proof of Authority
- Role of Miners in the Ecosystem
- Mining and Mining pools
- ASIC and GPU mining
- Hard Fork, Soft Fork and Splitting of Cryptocurrency
- Blockchain and cryptocurrency roadmaps
- Difference between hard fork, soft fork and splitting
- Consensus and impact on ecosystem
Day 2
- Cryptocurrency Exchanges and Regulations
- Crypto to crypto exchanges
- Fiat to crypto conversions
- Regulatory considerations: KYC and AML
- Centralized and decentralized exchanges
- Atomic swaps
- Smart Contracts & Decentralized Applications
- Blockchain and smart contracts
- Potential of smart contracts and use cases
- Challenges with smart contracts and hacking
- What are Decentralized Applications
- Differences between smart contracts and dapps
- Private and Public Blockchain
- What is public blockchain
- What is private blockchain
- Advantages and disadvantages of public and private blockchain
- Hybrid blockchain
- Initial Coin Offerings and Token Economics
- What is Initial Coin Offering
- Differences between coins and tokens
- Token Economics
- Token Generation and Distribution
- Risks and myths
- Blockchain Case Studies and Evaluation (eg. Fintech, Supply Chain, Retail, Healthcare)
- Participants will be grouped into small teams and do an analysis of a few blockchain case studies in class.
- The case studies will be picked from various sectors (eg. Fintech, Supply Chain, Retail, Healthcare and also recent Initial Coin Offering Projects)
- Analysis and evaluation topics will include
- how they changed their current business structures or processes to blockchain.
- How blockchain brings benefits
- Risks of switching to blockchain
- Token economics analysis including generation, allocation and usage of tokens
Day 3
- Introduction to Ethereum Blockchain Platform
- What is Ethereum and how it works?
- Ethereum architecture
- Ethereum operations
- Blockchains and genesis block
- Proof of works
- Proof of stakes
- Ethereum protocol
- Hands-on Labs
- Install and running Ethereum nodes
- Setup the private chain
- Challenge
- Ethereum Smart Contract System
- What is Smart contract and how it works?
- New business model with smart contract
- Solidity as the smart contract language
- Types of variables in solidity
- Public and private code
- Public variables and functions
- Private variables and functions
- Internal functions
- External functions
- Smart contract constructors
- Constant variables
- Setting variables
- Tools for solidity
- Hands-on Labs
- Case study and code reading
- Group presentation and sharing
- Smart Contract Deployment and Web3.js
- Tools for connecting Ethereum nodes
- js
- Dapps in community
- Hands-on Labs
- Installing web3.js
- Changing the environment
- Deploy smart contract to testnet/ private chain
- Using web3.js to connect & interact with the smart contract
- Challenge
Day 4
- Solidity Events
- Introduction of events
- Hands-on Labs
- Create a front end of the application
- Defining the smart contract event
- Updating the UI
- Challenge
- Solidity Modifier, Mappings and Structs
- Introduction of modifier, mapping and structs
- Hands-on Labs
- Creating a modifier
- Using the modifier
- Web3 UI’s modifier handling
- Creating a struct
- Creating the mapping
- Map addition
- Get from the mapping
- The full contract
- Count from map
- Challenge
- Solidity Inheritance
- Introduction of inheritance
- Hands-on Labs
- Current contract
- Creating a base contract
- Changing from strings to bytes
- Update the html form
- Update the javascript
- Using the app
- Challenge
Day 5
- Security and Smart Contracts Best Practice, DAPPS Capstone Project
- General philosophy
- Design consideration and best practice
- Security considertions
- DAPPS Capstone Project