Ethereum is a second generation public blockchain. Second generation blockchains manage more than cryptocurrency assets, so they can manage any asset. The Ethereum nodes can run programming code called smart contracts. The term smart contract sounds like they are a legal term, but, in reality, smart contracts are no different from any computer program. Smart contracts take action on Ethereum transactions. Ethereum is a single ledger blockchain, and it uses a cryptocurrency called Ether.

Solidity is a scripting language used mainly for blockchain smart contract writing. Solidity runs on the Ethereum blockchain. Solidity is object oriented. It resembles Java in its structure. A programmer can use Solidity to model real life object attributes related to the items involved in the transactions. Solidity also supports functions to execute the actions for the items involved in the transaction. 

In this course you learn how to program in Solidity to develop and deploy Ethereum blockchain applications.




Learning Objectives

By the end of this hands-on self-paced course, you’ll understand:

  • Solidity language and the Remix development environment.
  • Basics of Solidity and Solidity construct.
  • Using Solidity to write Smart Contracts.
  • Running and testing Solidity applications using Truffle.
  • Basic understanding of Ethereum use cases in business.

And you’ll be able to:

  • Understand Solidity programming.
  • Understand compiling Solidity into Ethereum.
  • Test Solidity applications using tools like Truffle
  • Update Solidity Smart Contracts.
  • Validate the results of Solidity Smart Contract.





Topics and Subtopics

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

1. Intro to Blockchain Technology- The History of Blockchain Technology and Bitcoin

2. Intro to Blockchain Technology- The Impact of Ledgers on Society

3. Blockchain Structure and Types

  • Hashing functions
  • Hashes and the structure of a Blockchain.
  • Introduction to the different needs of Public Blockchains and the business needs
  • Introduction to some Blockchain products: Ethereum, Hyperledger, Corda etc


4. Blockchain Operation and Mining

  • Blockchain elements: nonce, Merkle tree, Block
  • Block data and terms: Block height, Block time
  • Blockchain mining procedures and terms


5. Introduction to Ethereum


6. Introduction to Solidity: Remix, and Other Development Environments

  • Remix Development environment Overview
  • Remix Views, and editor
  • Creating a Solidity Script
  • Compiling a script
  • Running a Script
  • Exercise


7. Writing Solidity Contracts

  • The compiler version and pragma
  • Comments and datatypes: integers, Booleans, strings addresses
  • Enums and Structs
  • Arrays
  • Control structures
  • Exercise


8. Solidity Constructs and Evaluating Conditions

  • For, While, Do While Loops
  • Switch Case
  • Mapping Types and Events
  • Handling errors
  • Exercise


9. Solidity Contracts and Functions

  • The Smart Contract function: passing and returning data
  • The Smart Contract function visibility: public, private, etc
  • Calling and declaring functions
  • Inheritance
  • Pure and view functions
  • Function modifiers: time, owner
  • Constructors
  • Overloading Functions
  • Exercise


10. Solidity Contracts and Making Payments in Transactions

  • Block and Transaction Properties
  • Subunits of Ether
  • ABI Specification
  • Solidity Unit Testing
  • Debugging a Contract
  • Ethereum Time
  • Address Payable
  • Exercise


11. Solidity Deployment using Truffle 

  • Truffle integration with Visual Studio Code
  • Installing Truffle
  • Compiling a Truffle project
  • Migrations
  • Exercise




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:


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



Select a pricing plan and sign up