Three-Day Ethereum Developer Course

Tue Jul 16, 09:00 - Thu Jul 18, 16:00

AlphaCode 3rd Floor, 2 Merchant Place, Cnr Fredman Dr & Rivonia Rd, Sandton, 2196

ABOUT

Demand for blockchain developers is increasing at a rapid rate as enterprises and startups are looking to achieve efficiencies and create new business models enabled by Decentralised Applications (DApps) and smart contracts.

This 3-day course is designed for developers, architects and IT Managers wanting to learn and apply blockchain technology to solve real-world business problems and effectively develop secure, full stack DApps on the Ethereum blockchain. It explores blockchain concepts, languages, tools, and frameworks used for the development of these apps and smart contracts.


Modules that will be covered are:


Module 1: What is Ethereum?


  • A brief history
  • How does Ethereum differ from Bitcoin
  • Ethereum design and philosophy
  • Ether-what is it and why is it needed


Module 2: The Ethereum Vitual Machine (EVM)


  • Smart Contracts
  • Gas-paying for computations
  • A simple smart contract in action
  • Running contracts on the Ethereum Virtual Machine


Module 3: Ethereum Applications


  • Tokens/ICO's
  • Decentralised applications
  • Decentralised Autonomous Organisations (DAO's)


Module 4: Securing the Ethereum Blockchain


  • Mining/Nodes
  • Proof of Work vs. Proof of Stake
  • Other methods of securing blockchains


Module 5: Ethereum Past, Present and Future


  • How is Ethereum different from when it launched?
  • Ethereum Enterprise Alliance ( EEA)
  • The DAO, DAO hack and resulting chain fork
  • An introduction to a few popular and innovative smart contracts
  • Scaling issues and the plan to scale Ethereum
  • Competition: other smart contracts platforms
  • Plans for the future


Module 6: Introduction to Ethereum Development

  • What is a smart contract?
  • What can you do with smart contracts?
  • What can you not do with smart contracts?
  • Hard limitations
  • Practical limitations
  • Smart contracts vs. Distributed Applications
  • Interacting with smart contracts
  • Practical: Run a smart contract
  • Using DApps
  • Metamask
  • Practical: Install Metamask extension and run a Dapp


Module 7: Tools and Frameworks

  • Metamask
  • Remix online IDE
  • Truffle
  • Ganache
  • OpenZepellin
  • Web3.js
  • Solidity IDE’s


Module 8: Setting up the Development Environment

  • Practical: Set up basic development environment


Module 9: Introduction to Solidity Development

  • Introducing Solidity
  • Date types and structures
  • The structure of a smart contract
  • Contract lifecycle
  • Example: A basic smart contract
  • Testing with Remix
  • Deploying the contract
  • Monitor the deployment with Etherscan
  • Call the contract
  • Kill/Un-deploy a contract
  • Practical: Create/test/deploy/call/kill a contract


Module 10: Advanced Smart Contracts

  • Using the Truffle framework
  • Securing contracts
  • Common exploits
  • Common contract security patterns
  • Zeppelin SafeMath library
  • Advanced data structures
  • Arrays
  • Maps and structs
  • Deploying your own testnet with Ganache
  • Testing with Mocha


Module 11: Building Ethereum Distributed Application Apps

  • Using the Truffle framework
  • Introducing Web3.js
  • Rendering contract data
  • Using a form to get user input
  • Using static assets
  • Interfacing with distributed file system
  • IPFS
  • Swarm
  • Decentralised P2P communication
  • Whisper/Orbit
  • Sending/receiving messages
  • Oracles
  • Types of Oracles
  • Some useful existing Oracles
  • Interfacing with Oracles


Module 12: Advanced and Multi Page Front-ends

  • Layouts, buttons and CSS
  • Routing
  • Validation and error handling
  • Spinners


Module 13: Enterprise Scale DApps Infrastructure and Architecture

  • Architecting Ethereum projects
  • Solium – standardising style and security practices
  • Dapps DevOps
  • Unit testing
  • Regression testing
  • Automating the development pipeline
  • Monitoring a live DApp


Each student will receive a light lunch, refreshments and a Certificate of Completion.

Please note: The course content is subject to change slightly.


Terms and Conditions:

No refunds or postponements are given to attendees who do not attend the course.

The Blockchain Academy will not be held liable for any damage to property, or for lost or stolen items.

The Blockchain Academy reserves the right to cancel classes at any time prior to their commencement. If a class is cancelled, attendees will be advised by sms and email no later than two days prior to its scheduled commencement date and a full refund given back to you.

If you wish to cancel the training, you must provide us with written notification.

NO REFUNDS or transfers will be granted less than 10 days before class commencement if enrollment has been confirmed.


We accept bitcoin! Contact us at [email protected] if you would like to make payment for this course in bitcoin.