[Free] Ethereum Development Course - Blockchain At Berkeley
This course will teach you how to become an experienced solidity developer – Free Course
What you’ll learn
- effectively develop a secure full stack Decentralized Applications (dApps) on Ethereum.
Requirements
- Basic Javascript skills, Download Truffle and Metamask
Description
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