What you'll learn:
- effectively develop a secure full stack Decentralized Applications (dApps) on Ethereum.
Blockchain at Berkeley and leaders of well-respected Blockchain start-ups like Consensys, BlockApps, Virtue Poker, and UJO Music have pooled their experience and knowledge to design a curriculum to turn you into an effective developer of secure Decentralized Applications (dApps) on Ethereum.
The Blockchain Development Bootcamp is comprised four modules of full stack programming on the Ethereum Blockchain:
[FREE]Module 1: Developer Environment Setup and Hello World
- Getting Started
- Ethereum and Solidity Recap
- A Starting Example
- The bank contract
- Hands-on Development
- Installing Dependencies
- Project Structure
- “Hello World!” (Greeter) Contract
- Truffle Init
- Connecting to the Real World
- Attaching Frontend
- Web3 api
- Create-react-app
- Truffle Migrations
- Finishing Touches
- Javascript Console
- Contract Interaction and Final Questions
Module 2: Solidity In-Depth
- Data Types and Associated Methods
- Typing and your contracts storage
- Typing in solidity
- Typing and your contracts storage
- Data Structures
- Your contracts storage
- Structs
- Mappings
- Simple Operators
- Global Variables
- Functions and More
- Accessor functions
- Events
- Modifiers
- Branching and Loops
- Objects and Contracts
- Calling external contract
- Inheritance
- Import
- Other Keywords
- Throwing
- Selfdestruct
Module 3: Advanced Dapp Development
- Greeter Review
- Git clone if needed
- Testrpc window, npm install/start window, truffle migrate, EthereumSetup.js
- Truffle console and final product
- How to fetch chain state
- What is the web3 api
- What is a contract abi?
- Why do I have to change the address every time
- Web3 API
- Pulling information from the blockchain
- Modify greeter app that uses web3 to retrieve:
- Wallet address
- Balance (BigNumber note. Have people try to get as decimal and fail)
- Latest block number
- Latest block timestamp
- Latest block hash
- Gas price
- Developer Tools I: MetaMask and Deployment
- Metamask Chrome Setup
- Communication between your browser and your blockchain
- Sending and Signing Transactions
- Live deployment to Kovan testnet
- Live deployment to Ethereum Mainnet
Module 4: Security and Attacks Vectors
- Philosophy and Fundamentals
- Basic Security
- Solidity defaults
- .send() vs .transfer vs .call().value()
- “Smart” smart contract standards
- Attack Vectors
- Data races
- Integer overflow
- Community tools
- OpenZeppelin
- Oyente
- SolCover