An introduction to Ethereum DApps

Decentralized applications (DApps) provide a new class of solutions utilizing the distributed storage and logic of smart-contract-based blockchains coupled with strong cryptographic authorization. It's now possible to deploy trustless systems where users interact directly with logic and state recorded on a blockchain. Identity, supply chain, governance, and finance are just some of the industries that are researching and building DApps.

Join expert Destry Saul to learn how to write a smart contract and deploy it on the Ethereum blockchain. A smart contract isn’t very useful unless you can interact with it, so you'll also learn how to write a web application that can read from and update your contract. Along the way, you'll discover what smart contracts can do, such as trustlessly store state and logic, and also what they can’t, such as automatically respond to external signals. You'll also get an introduction to the current blockchain engineer toolkit.

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

By the end of this live, online course, you’ll understand:

How to scope and begin a DApp project

How DApp frontends interact with smart contracts

What belongs in a smart contract and what belongs in the interface

And you’ll be able to:

Write a smart contract

Deploy a smart contract on the Ethereum blockchain

Write a simple frontend that reads and writes to your contract

This training course is for you because...

You're a developer who wants to break into the blockchain industry but don’t know where to start.

You're a developer or technical decision maker in any industry, and you want to learn how blockchains could be integrated with your products.

Prerequisites

Basic familiarity with JavaScript and Git

A machine with the Chrome browser installed

A free GitHub account (optional, but will enable you to easily deploy DApps via GitHub Pages)

About your instructor

Destry Saul is Unchained Capital’s first Blockchain Engineer. His work enables Unchained to safely custody tens of millions of dollars of customer blockchain assets by authoring security protocols, writing Hardware Wallet integrations, and developing Unchained’s hardware-wallet compatible, multi-signature, ethereum smart contract and dApp. Before diving into the blockchain, Destry was a Data Scientist and Big Data Solution Architect for both Infochimps and Cisco Systems. Destry earned his Ph.D. in astrophysics from Columbia University in New York by developing three-dimensional computer vision algorithms to identify cold clouds of hydrogen gas on the edge of our Milky Way galaxy. As a graduate student, he taught four semesters of astronomy lab courses which included content development. During this time he was also a founding member of the ‘Rooftop Variables’ outreach program which taught New York City high school teachers how to run lab classes in astronomy and provided them with telescopes and paired them with active graduate students. For the past year, Destry has organized the Tucson Blockchain Developers MeetUp, presenting on a variety of blockchain topics for the growing community of blockchain developers in the Tucson area.

Schedule

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

Getting started (35 minutes)

Lecture: Introduction; local environment setup

Hands-on exercise: Deploy and interact with a prepared example smart contract and DApp

Q&A

Your first contract (40 minutes)

Lecture: What belongs in the smart contract and what doesn't

Hands-on exercise: Modify the example contract to add new functions

Group discussion: Smart contract design considerations

Break (5 minutes)

Web app interaction (50 minutes)

Lecture: DApp design; wallet integration; the Web3 package

Hands-on exercise: Modify the example web app to use the new smart contract functions

Group discussion: What can a DApp do that a traditional web app can’t?

Break (5 minutes)

Deploying your contract and app (35 minutes)

Lecture: Deployment options; How can you publish your DApp?

Hands-on exercise: Deploy your contract on the Ethereum testnet and publish the DApp