logo

Development Course

course overview

download outline

Select Country and City to View dates & book now

Skills Gained

  • Review architecture and components of Ethereum
  • What are DApps and how they work
  • Cover all topics and syntaxes for doing Solidity programming
  • Create and deploy your first DApp using Ethereum
  • Learn how Web3.js or Ethereum JS API works
  • Setup and use Truffle.JS framework to compile Smart Contracts and automate contract testing
  • Learn how to build and manage a Wallet Service

Prerequisites

Prior knowledge of blockchain technology and cryptography that are covered in our Blockchain Solution Architect course are required prior to taking this course. Good knowledge of JavaScript, Node.JS, and OOP are the other prerequisites of this course.

Outline

Outline of Ethereum, Solidity and Smart Contract Development Training Chapter 1- Overview of Blockchain, DApp and Ethereum

  • Overview of blockchain technology
  • Centralized versus decentralized networks
  • User identity in DApps
  • User accounts in DApps
  • Internal currency in DApps
  • What are permissioned DApps?
  • Popular DApps
  • Overview of blockchain cryptography
  • Blockchain development platforms
  • What is Ethereum and how it works
  • Ethereum versus Hyperledger
  • Hyperledger Burrow & Ethereum

Chapter 2- Overview of Ethereum Components

  • Ethereum accounts
  • Transactions
  • Consensus
  • Timestamp
  • Nonce
  • Block time
  • Forking
  • Genesis block
  • Ether denominations
  • Gas
  • Peer discovery
  • Whisper and Swarm
  • Geth
  • Ethereum Wallet
  • Mist

Chapter 3- Introduction to Smart Contracts

  • A Simple Smart Contract
  • Blockchain Basics
  • The Ethereum Virtual Machine

Chapter 4- Installing the Solidity Compiler

  • Versioning
  • Remix
  • npm / Node.js
  • Docker
  • Binary Packages
  • Building from Source
  • CMake options
  • The version string in depth

Chapter 5- Solidity in Depth

  • Layout of a Solidity Source File
  • Structure of a Contract
  • Types
  • Units and Globally Available Variables
  • Expressions and Control Structures
  • Contracts
  • Solidity Assembly
  • Miscellaneous
  • Solidity v0.5.0 Breaking Changes

Chapter 6- Using the Compiler in Solidity

  • Using the Command line Compiler
  • Setting the EVM version to target
  • Compiler Input and Output JSON Description

Chapter 7- Contract Metadata

  • Encoding of the Metadata Hash in the Bytecode
  • Usage for Automatic Interface Generation and NatSpec
  • Usage for Source Code Verification

Chapter 8- Contract ABI Specification

  • Basic Design
  • Function Selector
  • Argument Encoding
  • Design Criteria for the Encoding
  • Formal Specification of the Encoding
  • Function Selector and Argument Encoding
  • Examples
  • Use of Dynamic Types
  • Events
  • JSON
  • Strict Encoding Mode
  • Non-standard Packed Mode

Chapter 9- Introduction to Web3.js

  • Initiating of Web3
  • Web3.modules
  • Options
  • Default components
  • defaultBlock
  • defaultAccount
  • defaultGasPrice
  • defaultGas
  • Transaction components
  • transactionBlockTimeout
  • transactionConfirmationBlocks
  • transactionPollingTimeout
  • transactionSigner
  • Provider components
  • setProvider
  • providers
  • givenProvider
  • currentProvider
  • BatchRequest
  • Version

Chapter 10- Get Started with Truffle.JS

  • Installation
  • Creating a Project
  • Compiling Contracts
  • Running Migrations
  • Interacting with Your Contracts
  • Truffle with MetaMask
  • Package Management via EthPM
  • Package Management via NP
  • Debugging Your Contracts

Chapter 11- Solidity Hands-on Labs

  • Develop a complex voting application
  • Build voting contract part- Lab 1
  • Build blind auction part- Lab 2
  • Create safe remote purchase part- Lab 3
  • Develop micropayment channel part- Lab 4

Chapter 12- Creating a Wallet Service

  • Online versus offline wallets
  • hooked-web3-provider and ethereumjs-tx libraries
  • Overview of hierarchical deterministic wallet
  • Introduction to key derivation functions
  • Overview of LightWallet
  • Building a wallet service

Talk to an expert

Thinking about Onsite?

If you need training for 3 or more people, you should ask us about onsite training. Putting aside the obvious location benefit, content can be customised to better meet your business objectives and more can be covered than in a public classroom. Its a cost effective option. One on one training can be delivered too, at reasonable rates.

Submit an enquiry from any page on this site and let us know you are interested in the requirements box, or simply mention it when we contact you.

All $ prices are in USD unless it’s a NZ or AU date

SPVC = Self Paced Virtual Class

LVC = Live Virtual Class

Please Note: All courses are availaible as Live Virtual Classes

Trusted by over 1/2 million students in 15 countries

Our clients have included prestigious national organisations such as Oxford University Press, multi-national private corporations such as JP Morgan and HSBC, as well as public sector institutions such as the Department of Defence and the Department of Health.