O'Reilly logo
live online training icon Live Online training

Blockchain Applications and Smart Contracts

Developing Decentralized Applications with Ethereum and Solidity

Jim Steele

The Blockchain and crypto currency are important tools for a decentralized market that needs to protect its speed, security, and reputation. Blockchain technologies are being researched by the largest corporations to securely deliver and transact business. The concept of smart contracts, micro finance, and transparent transactions are all benefits from the Blockchain. This course provides a developer with the techniques necessary to write applications that run on a Blockchain.

Course catered towards developers and product managers focusing on applications of blockchains. How do you develop and deploy a smart contract? What use cases are relevant for a decentralized app and what are not? Is every token necessarily a cryptocurrency? How to these relate to the other forks of altcoins?

Presentations will cover basics of blockchain, digital trust, major cryptocurrency solutions, and will teach how to define and code digital contracts. Students in this course will learn how to create and run successful applications on the blockchain.

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

  • Understand relevant Blockchain application use-cases
  • Set up a development environment for Solidity
  • Learn details of the Solidity language and how to code a smart contract
  • Create a test network to test applications without cost
  • Launch a smart contract in a live network

This training course is for you because...

  • Anyone who is interested in learning about smart contracts
  • Developers, program managers, blockchain enthusiasts
  • Computer professionals, software engineers, algorithm engineers


  • Basic understanding of computer programming and using an IDE (integrated development environment) such as Visual Studio
  • Familiarity with Javascript or another similar scripting language preferred

Materials, downloads, or Supplemental Content needed in advance:

  • Instructions on how to setup a development environment for smart contracts will be linked here prior to the class so that students can prepare their computers. Any downloads will be referenced in this instruction document.
  • If a student just plans to watch, rather than work along with the instructor, that is fine too, as he or she will get a lot of useful information to use at a later date.

About your instructor

  • Jim Steele has held lead, architect, and senior management positions at variety of technology companies from RF communications to location-based technology to sensor systems. He is passionate about new technology to enable software developers.

    Jim has held research positions in theoretical physics at Massachusetts Institute of Technology and the Ohio State University. He is the lead author of The Android Developer’s Cookbook, which was designed to help application developers start working on the Android mobile operating system. He is also a noted speaker and has given many invited lectures. He holds a Ph.D. in theoretical physics from the State University of New York at Stony


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

Segment 1: Blockchain, Ethereum, and Smart Contract (45 minutes)

Instructor will:

  • Present the fundamental precepts of Blockchain technology
  • Review the use-cases suited for decentralized applications
  • Introduce Ethereum and the struction of Smart Contracts

Participants will:

  • Understand how to design an application for the blockchain
  • Learn why Ethereum is a foundation for any smart contract

Q&A (10 minutes)

Break (5 minutes)

Segment 2: Developing a Smart Contract Using Solidity (45 min)

Instructor will:

  • Show how to install all the relevant pieces of a smart contract development environment
  • Introduce the Truffle command line interface and test network
  • Introduce the Solidity language and write sample smart contracts

Participants will:

  • Be able to write and test their own smart contracts on a test blockchain network
  • Understand how accounts and the cost of running transactions works

Q&A (10 minutes)

Break (15 minutes)

Segment 3: Testing and Launching a Smart Contract Application (30 min)

Instructor will:

  • Teach students how to test, debug, and launch a smart contract in a Blockchain

Participants will:

  • Learn the importance of testing an application on the immutable Blockchain
  • Launch an application on a live network