TOTAL: Building an Ethereum Blockchain DApp using Solidity
- Description
- Curriculum
- FAQ
- Reviews
Mike Meyers and the Total Seminars Team, your source for the best IT industry courses, bring you TOTAL: Building an Ethereum Blockchain App with one of our most popular authors, Michael Solomon, Ph. D., CISSP, PMP, CISM.
This is NOT a boring voice-over-PowerPoint course. Michael speaks to you and presents the material in an engaging interactive style that will keep you interested and make it easier to understand. Check out the free sample lectures and you will see the difference.
With 30+ years of experience in security, privacy, blockchain, and data science, and an energetic presentation style, Michael takes his proficiency and consolidates it into this informative and engaging course.
This course starts with an explanation of blockchain and Ethereum and their applications. You’ll then learn how to create an actual Ethereum dApp (decentralized application) using a real world supply chain example. This course dives into coding a “smart contract,” and Michael walks through the steps one at a time, so this course is great for novices and experienced programmers alike.
WHY SHOULD I TAKE THIS COURSE?
Did you know:
-
Spending on blockchain solutions is estimated to jump from $1.5 billion in 2018 to over $16 billion in 2024
-
26% of companies plan on investing between $1 million and $5 million in blockchain technology
-
32% of companies are currently in the development stage of blockchain projects
Whether you’re an executive who can see the trends happening here, or a tech who’s interested in understanding this new technology, or a geek looking to expand their coding knowledge, this course is for you.
The first wave of the “Bitcoin blockchain” has come and (mostly) gone, but now there’s a greater implication for blockchain technology, and Ethereum is the word everyone needs to know. Find out how this technology will change YOUR industry. Learn to code smart contracts using Solidity, that will revolutionize business processes as we know them today.
What are you waiting for? Grab this course now!
WHAT’S INCLUDED?
-
Over 10 hours of video
-
PDF of notes for each chapter
-
Downloadable project files with the sample code so you can follow along
-
A real-world project where you learn how to code a smart contract for an actual supply chain solution
-
End-of-chapter quizzes to test your knowledge
-
Q&A section where you can ask any questions you might have
-
30-day money-back guarantee
-
Lifetime access
-
Certificate of completion
WHAT’S COVERED?
-
Learn the basics
-
Chapter 1 – What is Blockchain?
-
Chapter 2 – What is Ethereum?
-
-
Understand Ethereum and its development tools
-
Chapter 3 – The Ethereum Ecosystem & Development Lifecycle
-
Chapter 4 – Ethereum Development Tools
-
Chapter 5 – Your Ethereum Wallet
-
-
Learn how to build an Ethereum dApp
-
Chapter 6 – Building Your First Ethereum App
-
Chapter 7 – Learning About Smart Contracts
-
Chapter 8 – Your Supply Chain Smart Contract dApp
-
Chapter 9 – Testing Ethereum Apps
-
Chapter 10 – Deploying and Maintaining Ethereum Apps
-
Chapter 11 – Integrating Non-Blockchain Apps with Ethereum
-
Sign up today!
-
1Introduction to Building an Ethereum Blockchain App
-
2The Beginning of Blockchain
What is blockchain technology and where did it come from? This episode discusses the origins of this groundbreaking technology and how it can revolutionize exchanging goods and services in our world today.
-
3Currency and Cryptocurrency
The blockchain began with Bitcoin as a way to exchange a special type of currency called cryptocurrency. This episode talks about the difference between the two and what the difference between Bitcoin and blockchain is.
-
4Why Use the Blockchain?
Now you know that blockchain is an excellent way to exchange things of value without having to have a trusted third party. But what exactly does that mean? This episode goes into the details of the vendor-customer relationship and how blockchain can help solve common problems.
-
5Blockchain Data and Blocks
This episode describes the basics of how blocks on the blockchain work.
-
6Blockchain Immutability
What does it mean that the blockchain is immutable? It seems today that anything can be hacked and changed on the Internet, so how does blockchain deal with this reality? This episode talks about how blockchain data is stored on multiple nodes, which are constantly checking each other for changes.
-
7Blockchain Consensus
If nodes have to agree to any changes, how can you tell which node to trust? This is where consensus comes in. Blockchain requires 3 or more nodes in order to have a majority agree to any changes that are made.
-
8Building the Blockchain Story
This episode goes into further detail about what’s contained in the actual blocks. Often these are payment transactions but can really be any type of data.
-
9Hashes
Hashes are mathematical functions that are easy to calculate one way, but very difficult to reverse. If that sounds confusing, check out this episode to help you understand these functions that are critical to blockchain operation.
-
10What is a Chain of Blocks?
Now that you understand how the blockchain is built, how consensus works, and what hashes are, this episode puts everything together to show you how the data on the blockchain is linked, or chained, together. This truly is where the magic of blockchain comes from.
-
11Finding the Nonce
A nonce, or number used once, is used in blockchain as a way of making it more challenging for a computer to calculate hash values. In this way, it becomes more difficult and less rewarding to create fake hashes, which would end up polluting the blockchain.
-
12Blockchain Mining
You may have heard of mining in relation to Bitcoin or other cryptocurrency. But what exactly is mining and why would people spend so much time, energy, and money to invest in mining on the blockchain? Find out in this episode.
-
13Arriving at Consensus
There are multiple algorithms that nodes use to arrive at consensus. These include Proof of Work (PoW), Proof of Stake (PoS), Delegated Proof of Stake (DPoS), and Delegated Byzantine Fault Tolerance (dBFT). This episode describes each of these briefly and how the nodes use consensus to keep the blockchain synced.
-
14Public vs. Private Blockchains
There are private and public blockchains and there are benefits and important differences to both. This episode discusses the difference between each type of blockchain.
-
15Distributed Processing and Blockchain Solutions
Blockchain technology provides excellent solutions to many issues with distributed processing. Check out this episode to learn how blockchain accomplishes this.
-
16Chapter 1 – What is the Blockchain Quiz
-
17Introduction to Ethereum
What is Ethereum and where did it come from? Learn about the history of blockchain technology and how it expanded from a simple cryptocurrency exchange to a robust implementation.
-
18Ethereum in Financial Services
What are some of the best uses for Ethereum? This episode explains how Ethereum works well in the financial industry, like banking and real estate
-
19Ethereum in Digital Identity Management
Another great place for Ethereum application is in digital identity management. People need to be able to interact digitally. That means people need an identity online that can be verified and matched to their real-world identity. Ethereum is a great way to address this issue.
-
20Ethereum in Industry Applications
Industries, such as healthcare, energy, and supply chain, are huge and complex. Find out why Ethereum, with its automation and tracking, is an excellent implementation for these.
-
21Ethereum in Government
The government has perhaps the greatest argument for Ethereum application. Ethereum offers transparency, auditability, and reliability that could make a huge difference in paying taxes, tracking government spending, voting, developing policies, and even simple tasks such as using a notary.
-
22Ethereum Smart Contracts
Smart contracts are the heart and soul of Ethereum. They are essentially programming code that you write to make Ethereum “do” whatever you want it to do. The smart contracts also enforce the rules required to access the blockchain because they run within the Ethereum Virtual Machine (EVM) that’s required for anyone to download who wants to access the Ethereum blockchain.
-
23Ether and the Initial Coin Offering (ICO)
Ether (ETH) is Ethereum’s native cryptocurrency. The great thing about Ethereum is that anyone can create a “token” or special cryptocurrency of their own in Ethereum and launch it with an initial coin offering (ICO), similar to how businesses launch with an initial public offering (IPO).
-
24Decentralized Autonomous Organization (DAO)
A decentralized autonomous organization (DAO) is one that operates with little to no human interaction. Imagine being able to set up all the rules for a business in smart contracts and run them automatically based on those rules. This could create incredibly efficient businesses and organizations, at least for those that could operate in this way.
-
25The Ethereum Ecosystem
The Ethereum ecosystem consists of all the parts required to make the Ethereum blockchain run successfully. This includes the blockchain itself, the Ethereum Virtual Machine (EVM), wallets, and cryptocurrency exchanges. It also includes everything required to create smart contracts, such as development and testing blockchains, a testing framework, and a source code editor or integrated development environment (IDE).
-
26Building Blockchain Apps
This episode explains how blockchain apps are different than standard apps in ways like decentralized storage and processing, add-only data, and built-in integrity and trust.
-
27Chapter 2 – What is Ethereum Quiz
-
28Parts of the Ethereum Blockchain
This episode discusses the parts of the Ethereum blockchain, which consists of decentralized apps (dApps), blocks, and miners. Each block has transactions which include a digital signature, to and from information, data, and more.
-
29Smart Contracts
Smart contracts are really the defining feature of Ethereum. This episode discusses what they are and how they establish the rules to access the Ethereum blockchain using the Ethereum Virtual Machine (EVM).
-
30Smart Contract Languages
There are several programming languages you can use to write smart contracts. This episode discusses the various languages and their strengths, as well as the most popular language, Solidity.
-
31What are Virtual Machines?
In order to understand how the Ethereum Virtual Machine (EVM) works, it’s helpful to understand how virtual machines work. If you’re unclear on this topic, check out this helpful episode.
-
32The Ethereum Virtual Machine (EVM)
In order to ensure that every node on the blockchain keeps the same copy of the blockchain, and adds the same blocks at the same time, it’s necessary to have some kind of governing entity. This is the job of the Ethereum Virtual Machine (EVM).
-
33Fueling Your Code with Gas
It costs a small amount of money, or ether, to access the Ethereum blockchain. Ethereum also uses the idea of gas to limit transactions, protect from denial of service attacks, and ensure concise smart contract language from programmers.
-
34Tools for Ethereum SDLC
Writing smart contract code is very similar to any other code writing and follows the software development life cycle (SDLC). This episode discusses what the SDLC is as well as the tools you will need to take your Ethereum smart contracts through this process.
-
35Blockchain Client
A blockchain client is the software that makes a device a node on the Ethereum blockchain and supports the Ethereum standards. This blockchain client also runs the EVM on a node.
-
36Writing and Testing Your Code, Part 1
This episode discusses some of the tools you’ll need to write and test your smart contract code, including the different types of test blockchains.
-
37Writing and Testing Your Code, Part 2
This episode discusses the rest of the tool you’ll need to write your smart contract code, including different types of integrated development environments (IDEs) and frameworks.
-
38Chapter 3 – Ethereum Ecosystem and Development Lifecycle Quiz
-
39Your Ethereum Development Toolbox
In order to create smart contracts to deploy to the live Ethereum blockchain, you need several tools. Some are necessary, and some will make it faster and easier to develop your code. These tools include the blockchain client (EVM), and IDE for code development, local and public test blockchains, and the live environment, called mainnet.
-
40Installing Geth Lab (CLI Blockchain Client)
This episode walks through the steps to download Go Ethereum (Geth), the command-line interface blockchain client, also known as the Ethereum Virtual Machine. This is the software that makes you an actual node on the Ethereum blockchain.
-
41Installing Ganache Lab (Test Blockchain)
This episode walks through the steps to download and run Ganache, the test blockchain we’ll be using during this course.
-
42Installing Truffle Lab (Development Environment and Testing Framework)
This episode walks through the steps to download and run Truffle, the software program used to simulate a live blockchain environment so you can deploy and test your smart contract code.
-
43Installing Microsoft Visual Studio Code Lab (IDE)
This episode walks through the steps to download and install Microsoft Visual Studio Code, a free integrated development environment (IDE) to help you as you develop your smart contract code.
-
44Chapter 4 – Ethereum Development Tools Quiz
-
45What is an Ethereum Wallet?
In order to interact with the blockchain, you must create an account to generate a private and public key pair. An Ethereum wallet stores your private keys to keep them safe, since the private key is the only way for you access your cryptoassets stored on the blockchain.
-
46Types of Ethereum Wallets
Ethereum wallets come in different types, such as hardware and software, and cold and hot. This episode discusses the different types and their pros and cons.
-
47Web and Desktop Wallets
This episode digs deeper into the web and desktop wallets and gives you a review of some of the popular types.
-
48Mobile, Hardware, and Paper Wallets
This episode digs deeper into the mobile, hardware, and paper wallets and gives you a review of some of the popular types.
-
49Installing MetaMask
MetaMask is a simple browser wallet that enables you to interact with public test blockchains and the mainnet. This episode walks through the steps to setting up your own MetaMask account.
-
50Chapter 5 – Your Ethereum Wallet Quiz
-
51Preparing Your First Truffle Project
It’s time to start setting up your first Truffle project. This episode shows you how to create a new directory for you Truffle project, initialize it, launch Microsoft Visual Studio Code, and configure the Truffle project files.
-
52Writing a Simple Smart Contract
This episode takes you through some of the basic functions in the programming language, Solidity, including strings, variables, and functions. You will get the chance to practice with every programmer’s first project: the HelloWorld code.
-
53Compiling Your Simple Smart Contract
Once you’ve written your simple HelloWorld smart contract, it’s time to compile the source code into something computers understand, bytecode. This episode shows you how to add Solidity plugins into Visual Studio Code and then compile your contract for the Solidity language.
-
54Deploying Code and Invoking Functions
After you’re written and compiled your smart contract code, you need to deploy it to the blockchain for testing. In this episode, you will hook up your development environment to a test blockchain called Ganache and deploy your HelloWorld smart contract to the test blockchain.
-
55Chapter 6 – Building Your First Ethereum App
-
56Smart Contracts Review
Before you dive into the details of smart contracts, this episode gives a brief review of the blockchain and how smart contracts play a crucial role in making the Ethereum blockchain work.
-
57What is Supply Chain?
This course is going to take you through an actual project where you will code your very own smart contracts and deploy them to the blockchain. The best way to learn, though, is by using real world examples that help you understand the implications of the technology. This episode describes what the supply chain industry is and gives a few examples of actual blockchain solutions being used today.
-
58Supply Chain Challenges and Blockchain Solutions
There are plenty of issues in supply chain, many of which have been solved or at least mitigated. However, blockchain is the first technology to come around that can solve (nearly) all the issues in a unified way.
-
59Blockchain Solution Examples
This episode digs back into some of the blockchain supply chain examples from a previous episode and discusses more about how they use blockchain technology to solve various issues.
-
60Ethereum Tokens
Your supply chain project will have to include a way to pay participants along the supply chain. This episode discusses the payment system in Ethereum: tokens.
-
61Your Supply Chain Project
-
62Exploring Solidity
Solidity is by far the most popular programming language in Ethereum. This episode talks about the details of the language that will help you as you begin coding your smart contracts.
-
63Defining Types of Data
Handling blockchain data is different than with traditional databases. There are certain considerations you need to keep in mind. This episode discusses the two types of data, local and state variables, and the types of memory, stack, memory, and storage.
-
64Data Types Lab
Now that you understand Solidity and data types, it’s time to tie your knowledge together by seeing how this works in a real smart contract.
-
65Solidity Data Modifiers, Part 1
In order to make data accessible to only the people you intend, you’ll need to know certain modifiers, such as whether the data should be public or private, internal or external.
-
66Solidity Data Modifiers, Part 2
This episode discusses the data modifier, “view”.
-
67Revisiting Gas
This episode goes over a quick review of gas and dives a little deeper into how gas is calculated and used.
-
68Controlling Flow
Smart contracts are programs made up of functions and data, and any given step might need to branch into several directions, or possibly even go back and be repeated. Controlling flow with “do-while” and “while” loops is important to know for any programmer.
-
69Handling Errors
Since everything that gets deployed to the blockchain remains on the blockchain forever, it’s important to work the bugs out first. However, there will always be issues that creep in, and you’ll need to know how to handle errors in Solidity in order to pass on important information for troubleshooting and feedback for the client.
-
70Chapter 7 – Designing Smart Contracts
-
71Designing Your Supply Chain App
This episode describes the various types of data, token capabilities, and supply chain functions you will need to create your supply chain app project.
-
72What are dApps?
Decentralized applications (dApps) are the result of all the smart contract code you write and deploy to the blockchain. This episode details how dApps came about and the advantages to these unique applications.
-
73Token Smart Contract Details
The payment token smart contract will be the first of 2 smart contracts you will create for this project. This episode discusses all the various data and functions you will be using for this smart contract.
-
74Supply Chain Smart Contract Details
The supply chain smart contract will be the second of 2 smart contracts you will create for this project. Structures
-
75Smart Contract Road Map
If you’ve gotten a bit confused with all the contracts and data and functions, this episode will help you better understand all the parts and pieces to your supply chain app and the 2 smart contracts you will be writing.
-
76Token Smart Contract Data Lab, Part 1
Now that you know the parts of your supply chain app, you’ll need to create and initialize your new project in Truffle. This first part covers how to start your Truffle project, and then discusses the ERC/EIP token standards in Ethereum to make sure your payment token smart contract complies with them.
-
77Token Smart Contract Data Lab, Part 2
The second part of the episode discusses interfaces, constructors, functions, and data in the solidity payment token smart contract.
-
78Supply Chain Smart Contract Data Lab, Part 1
In the first part of this 2-part episode, we will discuss the mapping function for the supply chain smart contract and discuss the various data within in.
-
79Supply Chain Smart Contract Data Lab, Part 2
The second part of this 2-part episode covers the participant and ownership structures, as well as the mapping function that maps them to different data and variables.
-
80Token Smart Contract Functions Lab, Part 1
In the first part of this 2-part episode, we will discuss the first 3 functions in the payment token smart contract.
-
81Token Smart Contract Functions Lab, Part 2
The second part of this 2-part episode covers the last 5 functions in the payment token smart contract.
-
82Supply Chain Smart Contract Functions Lab, Part 1
In the first part of this 2-part episode, we will discuss the first 4 functions in the supply chain smart contract.
-
83Supply Chain Smart Contract Functions Lab, Part 2
The second part of this 2-part episode covers the last 5 functions in the supply chain smart contract.
-
84Using Events
Smart contract code is essentially server-side code. The smart contract listens for events that the client creates; this means they have to emit an event. In order to implement events in Solidity, you have to define the event, then define a trigger for the event.
-
85Implementing Events
This episode goes through the various events in the supply chain and payment token smart contracts and their associated emit functions, which trigger the events.
-
86More on Ownership
In blockchain technology, every action has an owner, which is what makes everything that happens on the blockchain auditable. If someone calls a function, their account address is associated to that action. This episode discusses more about ownership, and the common msg.sender value that you’ll see in many places.
-
87Designing for Security
Smart contracts need to be secured just like any other type of code. There are some unique considerations for Ethereum smart contracts that you’ll need to keep in mind. This episode discusses the various way you can help ensure security in your smart contract.
-
88Implementing Minimal Functionality
A golden standard for developing code is to begin with minimal functionality, then, once the basic functions have been tested and verified, add more functionality after.
-
89Chapter 8 – How to Write Smart Contracts with Solidity Quiz