Blockchain Ethereum Training: Hands-on Development Bootcamp
in IBMAbout this course
Course Overview
Learn the components of Ethereum and how to setup an Ethereum public network. This course will introduce you to Solidity and how to build a basic app and develop smart contracts through extensive hands-on labs. You’ll also review web3 and the Truffle framework before linking everything together by building a full web project with Ethereum.
This course has been meticulously put together and is taught by world-class subject matter experts. Our experts will walk you through deep dive topics including the steps to integrate/develop an application with Ethereum. There are use cases, proof of concepts, as well as interactive hands-on labs.
Target Audience
This course is designed for experienced programmers and developers who want a comprehensive deep dive in writing smart contracts and building applications that interact with them.
Course Objectives
What you will learn in this course:
- Blockchain basics and the types of Blockchain's
- The major components of the Ethereum Blockchain
- The Ethereum programing language, Solidity
- Smart contracts
- Development of DApp v1.1
Course Content
What is Blockchain and Smart Contracts?
- What is Blockchain and how does it work?
- Bitcoin vs Ethereum
- Smart contract
- How you can use smart contracts?
- Advantages of smart contracts
- Solidity
- Lab
- Types of variables in Solidity
- Public and private code
- Public variables and functions
- Private variables and functions
- Internal functions
- External functions
- Smart contract constructors
- Constant variables
- Setting variables
- Lab challenge
Smart Contracts with web3.js
- Lab
- Installing and running the Ethereum TestRPC
- Installing web3.js
- Changing the environment in Remix
- Creating the UI
- Using web3.js to connect and interact with the smart contract
- Solution
- Lab challenge
Smart Contract events with web3.js
- AIM
- Lab
- The current contract
- Defining the smart contract event
- Updating the UI
- Lab challenge
Functions, Mapping, and Structs
- Theory
- Functions
- Mapping
- Structs
- Lab
- The smart contract
- Creating a modifier
- Using the modifier
- Web3 UI’s modifier handling
- Lab
- Creating a struct
- Creating the mapping
- Map addition
- Get from the mapping
- The full contract
- Count from map
- Lab challenge
Inheritance and Deployment
- Theory
- Object-oriented programming
- Inheritance
- Lab
- Current contract
- Creating a base contract
- Changing from strings to bytes
- Continuing the project
- Installing MetaMask
- Deploy contract to the Ropsten testnet network
- Lab
- Update the HTML form
- Update the JavaScript
- Using the App
- Lab challenge
Embark Framework and it’s Deployment
- Blockchain (Ethereum)
- Decentralized storage (IPFS)
- Decentralized communication
- Web technologies
- Lab
- Installing Embark framework
- Hello World with Embark framework
- First contract deployment with Embark framework
Solidity Smart Contracts Testing
- Theory
- What is software testing?
- Lab
- Lab challenge
Contracts Management with Factories
- Theory
- Factory
- Lab
- Lab challenge
IPFS Files Hosting
- Theory
- IPFS
- File hosting
- Lab
- Get your hosting server
- Install IPFS on the server
- Lab challenge
End-to-end Development of DApp
- AIM
- Lab
- Setup the project
- Program the smart contract
- Create the front-end of the application
- Deploy the App with IPFS
- Lab challenge
Course Prerequisites
This course is highly technical and requires students to be comfortable with coding. To prepare for the class you must:
- Provide your own computer (Mac/PC/Linux) (labs are hosted in a virtual environment)
- Basic programming skills of C/C++ or JavaScript