Ethereum is an open source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. In other words, Ethereum is a global, open-source platform for building Decentralized Applications or “DApps”. On Ethereum, you can write code that controls digital value, runs exactly as programmed, and is accessible anywhere in the world.

The Ethereum DApps gain the benefits of cryptocurrency and blockchain technology. They are reliable and predictable, meaning that once they are uploaded to Ethereum, they will always run as programmed. They can control digital assets in order to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them.

In this course, you learn how to develop and deploy Ethereum blockchain applications via Solidity programming language.




Learning Objectives

  • Review 2nd generation of blockchain technology
  • Review architecture and components of Ethereum
  • What are DApps and how they work
  • What are blockchain hashes and how they work
  • Review cryptography and its role in blockchain development
  • Cover all topics and syntaxes for doing Solidity programming
  • Create and deploy your first DApp using Ethereum
  • Develop Ethereum applications via Remix
  • Setup and use Truffle.JS framework to compile Smart Contracts and automate contract testing
  • Review Ethereum business use cases




Topics and Subtopics

Here is is the outline of topics and subtopics covered in this course:

1- Introduction to Ethereum


2- Second generation of Blockchains

  •  The new Blockchain- Blockchain 2.0
  • Blockchain operation
  • Blockchain benefits and disadvantages


3- Ethereum and Cryptography

  • Blockchain and Hashing
  • Blockchain Cryptology
  • Blockchain Network
  • Ethereum and cryptography


4- The Ethereum Differences

  • The Ethereum Virtual Machine (EVM)
  • The Ethereum Network
  • Smart Contracts
  • Ether and Gas
  • The Ethereum Difference


5- The Ethereum Contract Remix

  • Remix editor
  • The Ethereum Network
  • Remix Modules: File Explorer and Editor
  • Remix Modules: Compile and Deploy
  • Remix Modules: Debugging
  • Remix Modules: Running and logging Contracts
  • The Ethereum Contract Remix


6- Structure of a Smart Contract

  • Smart Contract: version, data types
  • Smart Contract address data types
  • Smart Contract data structures
  • Smart Contract loops
  • Smart Contract error handling
  • Structure of a Smart Contract


7- Smart Contract Functions

  • Function basics
  • The Smart Contract function visibility
  • Smart Contract Calling and declaring functions
  • Smart Contract function Inheritance
  • Smart Contract pure functions and modifiers
  • Smart Contract function constructors
  • Overloading Smart Contract functions
  • Smart Contract Functions


8- Ethereum Client-Side Applications

  • Ganache, Node.js
  • Installing Metamask
  • Truffle project
  • Deploying Smart Contract to Ethereum
  • Use the Truffle console to call the contract
  • Import Ethereum account to Metamask
  • Web3.js, html, and JavaScript for DApps
  • Ethereum Client-Side Applications


9- Ethereum Testing

  • Ethereum testing on Remix and Truffle
  • Remix Tests
  • Truffle Testing with JavaScript
  • Build JavaScript tests with Truffle
  • Run JavaScript Tests to validate contracts
  • Ethereum Client-Side Applications


10- Ethereum Use Cases

  • Ethereum Use Cases
  • Learn about ERC 20 Tokens
  • Learn about Supply Chain, and Brave Browser
  • Learn about the Record Keeping Use case
  • Ethereum and the Internet-of-Things
  • Ethereum Smart Cities, and Health Care



Requirements

Good knowledge of JavaScript and Node.JS as well as basic knowledge of Linux commands is required.

If you are not familiar with blockchain technology, taking Intro to Blockchain Technology course is highly recommended.



Related Courses



Complete Training Bundle

If you are serious about becoming a pro blockchain specialist, you should enroll in our Complete Blockchain Development Training. This bundle covers all essential and practical topics related to blockchain design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to blockchain technology like Hyperledger, Ethereum, Solidity, Blockchain Security, Corda R3 and more. Click here to learn more.


Private Tutoring Classes

To take skills you learn from this course to the next level, taking the following tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:



What Is Next?

After finishing this course, you can enroll in any of following classes:

  1. Intro to Blockchain Cybersecurity



Recommended Free Courses

If you are new to the IT or programming, we suggest the following free courses:


Select a pricing plan and sign up

Jim Sullivan- senior blockchain instructor

Jim Sullivan- MS, MBA and IBM Master Instructor


Jim is a senior blockchain consultant and developer at DC Web Makers. He has a Bachelor’s Degree in Electrical Engineering and a Master’s Degree in Computer Science along with an MBA. He has been a practicing software engineer for 20 years. Currently, at DC Web Makers, he leads an expert team in Blockchain development, DevOps, Cloud, application development, and the SAFe Agile methodology. He is an IBM Master Instructor. He is a Blockchain professional, and a MultiChain partner. He is also an expert in HyperLedger, Ethereum, Corda, and is architecting and developing Blockchain-based web products. He has also taught blockchain courses for companies such as O’Reilly Media. His other skills are as follows:

  • Amazon Web Services (AWS) partner, and administrator.
  • Multichain, Corda, Hyperledger Blockchain partner.
  • HealthCare Blockchain Certified
  • Certified Scaled Agile Program Consultant (SAFe SPC): Certified by the Scaled Agile Institute.
  • Certified SAFe DevOps
  • Perl Developer, Java developer, Java web developer, and .NET developer
  • Front-end web development with HTML, HTML5, CSS3 and JavaScript
  • Node.JS, PHP, Oracle and MySQL development and administration.
  • WebSphere, Tomcat, Wicket, JBoss developer.
  • Certified Scrum Master: Certified by the Scrum Alliance and Certified Scrum Professional: Certified by the Scrum Alliance.
  • ALM Disciplines: Requirements, Change Management, Development, and Quality.
  • Certified Tool Expertise: UrbanCode, IBM Team Concert, DOORS Next Gen, IBM Quality Manager, ClearCase, ClearQuest, Jira, Rally, SVN, Maven, Hudson/Jenkins, Guacamole, UrbanCode, Chef, Puppet.
  • Certified VMWare Technical Professional.
  • Linux and Windows Administration

Choose a Pricing Option