Solidity Smart Contracts: Build DApps in Ethereum Blockchain

Video description

For the past couple of years, there has been no bigger breakthrough in the IT world than Blockchain technology. The extremely fast growth of the industry, market, and the technology itself has led to an enormous shortage of programmers who truly understand the blockchain technology. Along with the latter, smart contracts have also emerged—and with them, Solidity.

The aim of this course is to give you the easiest and the best route to becoming a blockchain developer. We will be focusing on smart contract development with Solidity in the Ethereum ecosystem. You will learn to create your first smart contracts in the Ethereum blockchain—even if you are a complete beginner and know nothing about programming or Solidity. The author will show you how to create your first smart contracts with Remix, the online IDE, and we will go through all the features that Solidity gives us as a programming language. You will also be able to set up your environment to start coding with Solidity on your local machine. The author will show you what settings and configurations he used to set up VSCode and how to successfully install Truffle on Windows.

After that, he will teach you the basics of the Truffle Framework and how to make it work with Ganache as your own private Ethereum blockchain network. We will also test out our Solidity smart contract behavior by unit testing with Chai and Mocha. If you are a serious developer, you need to know that your code is working the way you expect it to. When you are finished, you will be able to create your own first decentralized application with Solidity and Truffle. While other courses are filled in with unnecessary information that makes them hard to navigate through and leave you confused, this course will take you step-by-step from a complete beginner to a master of Solidity and smart contract creation in the Ethereum ecosystem.

What You Will Learn

  • How to develop your own DApp
  • Basic and advanced concepts of the Solidity programming language
  • How to use the Truffle Framework and Ganache
  • How to perform unit testing on your smart contracts
  • Using Remix as your online IDE
  • The essentials of the Ethereum blockchain
  • How to keep your crypto assets secure
  • How to use Metamask as your Ethereum wallet
  • How to create and deploy your own token


This course is for people who want to master smart contracts and Solidity or anyone who wants to learn more about the blockchain technology.

About The Author

Rangel Stoilov: Rangel Stoilov - Web Developer and Entrepreneur

Rangel has been a web developer for 8 years now. First, he had started with Dreamweaver back in the days and went through Wordpress as a simple way to create websites. After that, he wanted to go further in web development so he started learning different programming languages such as C#, Java & JavaScript. He has a major in Java with Spring Framework and now he is pursuing to deepen his knowledge in different JavaScript frameworks. He also has a passion for Solidity and Smart Contracts as well as the Truffle Framework. He has also dived in the entrepreneurial spirit with Amazon publishing and trading on the Forex market as well as creating automated systems for trading.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Blockchain Technology Basics
    1. What is Ethereum?
    2. The Ethereum Ecosystem - What Are Blocks?
    3. Opening an Ethereum Wallet
    4. Different Kinds of Wallets
    5. Metamask And What Is GAS?
  2. Chapter 2 : Introduction to Solidity
    1. Contracts, Constructors Functions
    2. REMIX PRACTICE: Creating First Smart Contract with Solidity and Remix
    3. Variables in Solidity
    4. REMIX PRACTICE: Variables
    5. Getters Setters
    6. Arrays
    7. Memory vs Storage
    8. Mappings in Solidity
  3. Chapter 3 : Advanced Solidity
    1. What Are Structs?
    2. Error Handling Restrictions
    3. Modifiers
    4. Libraries
    5. Global Variables in Solidity
    6. Abstract Contracts, Inheritance and Interfaces
    7. Events
  4. Chapter 4 : Truffle Framework Ganache
    1. Environment Setup - Truffle, Ganache VSCode
    2. VSCode Settings Extensions - What I Use?
    3. Truffle Project Creation, Ganache Contract Deployment
    4. Truffle Compile, Migrate Create Commands
    5. More Truffle Commands
  5. Chapter 5 : DAPP CREATION: Pet Shop
    1. Installing Skeleton Contract Creation
    2. Migration File Creation Deployment
    3. Unit Testing Our Smart Contract
    4. WEB3JS User Interface Creation
    5. Metamask Setup DApp Testing
  6. Chapter 6 : DAPP DEPLOYMENT: Heroku Deployment Smart Contracts Deployment
    1. Infura Account Creation
    2. Setting Up Infura As Network Provider Deploying Contracts to Rinkeby
    3. Register and Install Heroku
    4. Preparing Project for Heroku
    5. Deploying Your DApp To Heroku
  7. Chapter 7 : TOKEN CREATION: ERC20 Standard
    1. Creating A Basic Token Under 5 Min
    2. Deploying Our Token to Rinkeby Test Network
    3. Adding Our Token to Wallets and Sending It to Another Account
    4. What is ERC20 Standard?
    5. Improving Our Basic Token to Be ERC20 (Part 1)
    6. Improving Our Basic Token to Be ERC20 (Part 2)
    7. Making Your Token Ownable
    8. Minting Burning Functions (Control Supply)
  8. Chapter 8 : DAPP CREATION: IPFS File System Storage
    1. Introduction To IPFS
    2. Saving Data with JavaScript and Infura Public Gateway
    3. Starting the Solidity Drive Project
    4. Creating Our Smart Contract
    5. Cleaning Things a Bit and Adding Dependencies
    6. Creating the User Interface
    7. Configure getWeb3.js
    8. Making The getFiles Function
    9. IPFS Config and onDrop event
    10. Debugging React Application Inside Chrome Dev Tools
    11. OnDrop Function Finished
    12. Rendering Our Files
    13. Re-render When We Change Accounts

Product information

  • Title: Solidity Smart Contracts: Build DApps in Ethereum Blockchain
  • Author(s): Rangel Stoilov
  • Release date: November 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838989231