O'Reilly logo
live online training icon Live Online training

Solidity Programming Fundamentals for Ethereum Applications

Crafting Blockchain Technology Solutions

Topic: Web Platform
James Sullivan

This training is focused on preparing students for mastering the Solidity programming language. This course provides students with essential skills for building Ethereum Blockchain applications in Solidity. Topics that will be covered include Solidity overview, Solidity development environment in Remix, smart contract development, testing and deployment via Truffle, and Solidity use cases, benefits, and risks.

Solidity is a scripting language used mainly for Blockchain Smart Contract writing. Solidity runs on the Ethereum Blockchain. Solidity is object-oriented, so it enforces the rules of object project. 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.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online 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 Blockchain 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

This training course is for you because...

  • You know about Blockchain technology and want to learn about Ethereum by writing Smart Contracts in Solidity.
  • You want to become a subject matter expert in Ethereum and/or Smart Contracts.
  • You work in a field where Blockchain offers opportunities and Ethereum has business potential.
  • You want to build your own Ethereum Blockchain application
  • Any programmer who wants to learn Solidity as a new programming language.
  • You are an aspiring blockchain developer that would like to validate your knowledge with the industry-leading blockchain platform like Ethereum


  • Basic understanding of programming
  • Basic understanding of Java, Python, and/or JavaScript
  • Basic understanding of using Blockchain

Recommended preparation

About your instructor

  • Jim Sullivan has a Bachelor’s Degree in Electrical Engineering and a Master’s Degree in Computer Science. Jim also holds an MBA. Jim has been a practicing Software engineer for 18 years. Currently, Jim leads an expert team in Blockchain development, DevOps, Cloud, application development, and the SAFe Agile methodology. Jim is an IBM Master Instructor. Jim is a Blockchain professional, and a MultiChain partner. Jim is also an expert in HyperLedger, Ethereum, Corda, and is architecting and developing a Blockchain-based web product.


The timeframes are only estimates and may vary according to how the class is progressing

1. Introduction to Solidity: Remix, and other Development environments: (25 minutes)

  • Presentation: Introduction to the Remix development environment. Review editor, menus and views. The basic features are explored.
  • Remix Development environment Overview
  • Remix Views, and editor
  • Creating a Solidity Script
  • Compiling a script
  • Running a Script
  • Exercise
  • Q&A

2. Writing Contracts and evaluating conditions (40 minutes)

  • Presentation: A large part of contract writing is modeling logic and testing conditions. In this section, we will review contract logic, testing conditions, using if statements and other constructs.
  • Rules and Logic
  • If Statements
  • Exercise
  • Q&A
  • Break (5 mins)

3. Solidity Constructs (25 minutes)

  • Presentation: In this section, we will review objects, functions and loops and show you how to use them in Solidity programming language.
  • Conditional statements
  • Data Structure
  • Exercise
  • Q&A

4. Solidity object: methods (30 minutes)

  • Presentation: In this section, will review creating objects and their methods and functions in Solidity programming language. We will discuss methods input parameters and returned data.
  • Validating Objects
  • Creating detailed attributes and methods
  • Implement set value, and get value
  • Exercise: Run exercise on build objects, with attributes, functions and methods.
  • Q&A
  • Break 5 minutes

5. Solidity object: Smart Contract (30 minutes)

  • Presentation: In this section, we will “put it all together”. We will compile and test the smart contract using Solidity programming language. We will also debug the contract.
  • Smart Contract logic
  • Writing the Smart Contract
  • Compiling and Unit Testing
  • Testing in the Ethereum Test environment.
  • Exercise: Add Smart Contract code, verify and compile
  • Q&A
  • Break (5 mins)

6. Solidity Deployment using Truffle (30 minutes)

  • Presentation: Truffle is a development pipeline for Ethereum. In this section, we will review Truffles’ features, and discuss its popular use cases.
  • Deployment of scripts in Truffle
  • Execution, and validation
  • Exercise
  • Redeployment discussion
  • Q&A