Blockchain 101
- Overview of Centralized, Decentralized and Distributed Systems
- What is Blockchain?
- How are transactions initiated in a network?
- Comparison of Blockchain and Traditional Databases
- Blockchain working
- Public/Private Key Cryptography
- The beauty of Hash Functions and Merkle trees
- Cryptocurrency Mining
- Proof of Work/ Consensus
- Cryptocurrency wallet
Introduction to Ethereum
- Ethereum vs Bitcoin
- Ethereum use cases
- Introduction to Ethereum
- Ethereum - A P2P world computer
- The Ethereum Blockchain
- Ethereum Virtual Machine
- Smart Contracts
- Gas - Price and Limit
- Ether and Ether Mining
- Ethereum tools - Swarm, Whisper and Mist
- Ethereum Framework - Web3.JS, Eth.JS
- Ethereum in today’s world (DApps and DAOs)
- Development Environment - Solidity IDE, Truffle, Embark
- Ethereum Networks - Koven, Ropsten, Rinkeby
- Webpack and Browserify
- Blockchain Ethereum Developer Online Training
Solidity
- Introduction to Solidity
- Basics (version pragma and comments)
- Structure of a contract
- Keywords
- Data Structures (Arrays, Mapping, Structs)
- Data Types (signed and unsigned int, strings, boolean, address)
- Looping and Conditional Statements
- Inheritance
- Polymorphism
Advanced Solidity
- Imports and libraries
- Extended String Functionality and Bytes
- Custom Modifiers and Error Handling
- Creating and deploying your own tokens
- Event logging, handling
- Parameter Mapping and Returning multiple variables
- State Modifiers (Pure/View/Constant/Payable)
- Transferring Ether between contracts (ERC20 and ERC223)
- Deployment
- Contract ABI
- Introduction to the Truffle Framework
- Communicating between smart contracts and HTML pages using Web3.JS and
- Metamask
- Setting up event-driven Interfaces
- Client-side signing and remote nodes for DApps
Developing a DApp using Truffle
- Creating a project structure on Truffle
- Writing the smart contract
- Compiling and migrating the smart contract
- Publishing the DApp
- How Web3.JS and Truffle work with ReactJS
- Deploying smart contract services on the test Blockchain network
- Running the DApp on the Ethereum node using Metamask