Smart Contract Development with Solidity

Preference Dates Timing Location Registration Fees
Weekdays Training

(In-Person and Live Online)
1, 4, 8, 11, 15, 18 August 2022 Mondays & Thursdays: 7:00 PM - 9:30 PM Dubai Knowledge Park 1,250 USD

Course Description

Welcome to the Blockchain Professional Program, where you will learn everything you need to know to become a world-class blockchain and smart contracts developer.

In this course, we start off by teaching you about the underpinnings of the blockchain and show how it all comes together to allow us to build the next generation of web applications.

We will start with a higher-level overview of Blockchain technology generally before diving deeper into the specifics of Ethereum and smart contracts including ERC-20 and Non-Fungible Tokens (NFTs).

We introduce you to Solidity, a programming language for Smart Contracts that lets you interact with the Ethereum Virtual Machine. We will walk you through many types of smart contract code, introduce you to key development tools, and show you all the best practices for smart contract development, all to prepare you for the final project, which consists of developing a world-class Web3 Application.

Unit 1 – Review of Blockchain Technology

  • Contextualizing Blockchain
  • Distributed Ledgers
  • Consensus Mechanism
  • Mining Ethereum
  • Public and Private Blockchains
  • Distributed Ledger Platforms

Unit 2 – Blockchain Primitives

  • 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
  • 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
  • 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- 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)