Practical Blockchain & Smart Contracts : Ethereum & Solidity
What you’ll learn
- A thorough understanding about blockchain technology. Create blockchain applications and Smart Contracts using Solidity language in Ethereum platform
- A Technology enthusiast with basic programming knowledge. A window, mac or linux computer.
Hello and welcome to The Complete Practical Guide To Blockchain Application Development
If you are going to ask me which is the Information Technology Domain that is going to change the future, without any doubt I would surely say its block chain based decentralized applications and smart contracts.
Put simply, blockchain is a transaction ledger that maintains identical copies across each member computer within a network. The interesting feature is that, once an information is placed inside a block of the block chain, the tampering or changing of it is impossible.
Governments and financial organizations have already invested millions of dollars into blockchain research and development and most of them have already implemented blockchain in financial services and record keeping.
Also blockchain based smart contracts are replacing the conventional paper contracts and other promissory deeds. Smart contract is an electronic contract that can execute itself after the conditions mentioned in the contact is full-filled. Since its also based in blockchain, once created, it cannot be tampered by anyone.
If you are a technology enthusiast or a programmer who wish to integrate blockchain in your applications, this is the right time to get yourself a thorough knowledge about the practical implementation of blockchain.
There are tons of material and books out there explains, the concepts, nuts and bolts of block chain. But only a very few of them explains how it can be practically implemented.
In this course, I have taken extreme care to keep a 30 / 70 percentage balance between the theoretical concepts and the practical implementation respectively.
After this course, you will get a clear idea of how and where to implement block chain in your existing software projects as well as your upcoming project ideas.
Here is the overview of the list of topics that I have included in this course
Before we proceed with the intense practical sessions, we will have the first few secessions in which we discuss the history and the basic concepts of block chain distributed applications and smart contracts.
In Session 1, we will discuss the history of block chain and distributed applications. Also we will check the basic structure of a block. Which is the building block of the block chain, which is a chain of these blocks.
In session 2, we will understand with the help of demographics, how these blocks are linked to form a block chain and the major security measures in blockchain which makes it this much secure.
In session 3, we will have a small discussion about the types of networks and the concept of crypto currencies like bitcoin which is built based on blockchain technology
In session 4, we will have an overview of what is mean by smart contracts based on blockchain and its working. Also we will discuss the various fields of applications of block chain at present and in the future.
In sessions 6 we will create the class for a single block, which we will be using to create the block chain.
And in session 7, we will create our first block in the chain called genesis block.
In session 8, We will and the functionality to add new blocks so that we can create rest of the blocks
and in session 10, we will implement hash verification, which is the most important security measure inside our block chain.
So in session 13, we will be getting our systems ready to build our ethereum block chain by downloading and installing the dependencies which include nodejs, ganache, metamask solidity language, the truffle framework and sublime text editor for coding.
In session 14, we will configure these dependencies and we will do a basic test to make sure everything is ready to proceed with the development.
we will start building our blockchain smart contract project out of solidity and ethereum. This project is a simple contest application, for finding out the best actor, with two contestants Tom and Jerry. We will have to build a block chain based app to find who is getting the maximum viewer support.
In the next session 15, we will create the model and class to use for every contestant in the project and we will include tom and Jerry as contestants and
In session 16, we will fetch the contestant list using web3js, which is the library use to interact with the blockchain.
Since smart contract can be created once and cannot be altered, the testing procedure should be done strictly before deploying it into the blockchain network. If any mistake or bug, the only option you will have is to remove the existing contract and deploy the new one instead, which is very time consuming and inconvenient. So In session 17, the block chain will be tested by using the truffle framework’s testing environment by emulating the transaction of creating users.
In session 20, in addition to the contestants listing functionality, we will add the voting functionality also to our blockchain smart contract.
Since the members and non members of the network may use the voting app, we need to thoroughly check for the conditions and rules we implemented in the smart contract. We will test the functionality till now using the truffle framework testing mechanism in session 21
In session 22, we will include rules and restrictions for our best actor contest. Rules like, a user can vote only once and the user cannot vote for any non existing contestants.
Till now the voting can only be done via a command line. In session 22, in our simple web interface, we will include the functionality to cast vote to any contestant from our web page.
And in the final session, we will create an event watch which will listen for the event of voting and once the voting done, it will refresh the page and fetch data from the blockchain network so that the winner of the contest can be known every then and there.
Even though these are sample projects, it will surely give enough insight to your mind about how the blockchain can be included into your web or mobile projects. This course will also give you enough knowledge to get yourself ahead of others in the blockchain race which have already started.
After successful completion of the course, we will provide you with a course completion certificate which will add much value to your career as a developer, software engineer or as a software architect.
So lets jump into the future of technology using blockchain. See you soon in the class room. Wishing you a happy learning.
- Beginner programmer or technology enthusiast who wish to learn about blockchain technology and implement it in projects