Blockchain Professional Program

Preference Dates Timing Location Registration Fees
Weekdays Training

(In-Person and Live Webinars)
7, 10, 14, 17, 21, 24 March 2022 Mondays & Thursdays: 7:00 PM - 9:30 PM Dubai Knowledge Park 3500 AED

Course Description

This course is for students wishing to explore blockchain technology’s potential use—by entrepreneurs & incumbents—to change the world of money and finance.

Kicking off with a review of the technology’s initial application, the cryptocurrency Bitcoin, students will gain an understanding of the commercial, technical and public policy fundamentals of blockchain technology, distributed ledgers and smart contracts in both open-sourced and private applications.

The class will then turn to current and potential blockchain applications in the financial sector. This will include reviews of potential use cases for payment systems, central banking, venture capital, secondary market trading, trade finance, commercial banking, post trade possessing and digital ID.

Along the way, we will explore the markets and regulatory landscape for cryptocurrencies, initial coin offerings, other tokens and crypto derivatives.

Unit 1 – Review of Blockchain Technology

  • Brief History of Blockchain
  • What is Decentralization?
  • Ledgers, Distributed Ledgers, and Consensus
  • The Paper Blockchain
  • Why Blockchain?

Unit 2 – Technical Side

  • Cryptographic Hash Functions
  • Public Key Cryptography Merkle Trees
  • Blockchain Structure
  • Building a Blockchain
  • Smart Contracts
  • Nodes
  • Blockchain Forks
  • Non-Fungible Tokens (NFTs)

Unit 3 – Ethereum Basics

  • Accounts
  • Transactions
  • Gas and Fees
  • Ethereum Structure
  • Externally Owned Accounts and Ethereum Transactions
  • Generating Ethereum Addresses

Unit 4 – Traditional and Decentralized Application Development

  • Similarities and Differences
  • Decentralized Application Development Development
  • Environment Setup Options
  • Key Developer Tools Installing Geth
  • Connecting to a testnet
  • Geth PoA Private Network

Unit 5 – Development Frameworks and Environment

  • Introducing MetaMask
  • Development Workflow
  • Installing Truffle
  • Truffle Development Environment
  • The Structure of a Truffle Project
  • Ganache GUI

Unit 6 – Solidity Fundamentals

  • Data Types and Variables Functions
  • Storage and Memory
  • Contract Structure
  • Reading Smart Contracts
  • Smart Contract ABI
  • Events and Logs
  • Factory Contracts

Unit 7 – Writing Smart Contracts

  • Introductory Smart Contracts
  • Inter-Contract Execution
  • Inheritance
  • Libraries and Ethereum Package Manager
  • Smart Contract System Design
  • Writing a Smart Contract (Proof of Existence)
  • Multi-Signature Wallet
  • Debugging Truffle Tests
  • Creating Smart Contracts for NFTs
  • Practice Writing Smart Contracts

Unit 8 – Ethereum and the End User

  • Introduction to Web 3.0
  • Web3.js JavaScript Library
  • Connecting Web3.js to a Contract
  • Building Truffle for the Web
  • Updates to Metamask
  • Integrating with React
  • Rimble UI

Unit 9 – Smart Contracts Pitfalls, Testing, and Debugging

  • Writing Tests
  • Catching Solidity Errors in Truffle Tests
  • Smart Contract Best Practices
  • Exploits and Dangers
  • Optimizing Gaz
  • Safety Checklist
  • Security Analysis Tools
  • Denial of Service Attack Example
  • Reentry Attack Example
  • Integer Over/Underflow Example
  • MythX

Unit 10 – Advanced Topics

  • Smart Contract Design Patterns
  • Ethereum Name Service
  • Introduction to IPFS
  • Upgrading Contracts
  • Oracles with Rhombus
  • Rhombus Network
  • Formal Verification
  • Zero Knowledge Proofs

Unit 11 – Additional Topics

  • LLL for Ethereum
  • Introduction to Vyper
  • Writing Ethereum Smart Contracts in Vyper
  • Ethereum Improvement Proposals (EIPs)

Unit 12- Final Project

  • Final Project Submission
  • Professionals or students who are interested in learning how to become world-class blockchain and Ethereum Developers

There are no prerequisites for this program

The participants who have successfully completed this course are encouraged to take our Innosoft Certified Blockchain Developer Exam (BC-300)