Book Image

Ethereum Smart Contract Development

By : Mayukh Mukhopadhyay
Book Image

Ethereum Smart Contract Development

By: Mayukh Mukhopadhyay

Overview of this book

Ethereum is a public, blockchain-based distributed computing platform featuring smart contract functionality. This book is your one-stop guide to blockchain and Ethereum smart contract development. We start by introducing you to the basics of blockchain. You'll learn about hash functions, Merkle trees, forking, mining, and much more. Then you'll learn about Ethereum and smart contracts, and we'll cover Ethereum virtual machine (EVM) in detail. Next, you'll get acquainted with DApps and DAOs and see how they work. We'll also delve into the mechanisms of advanced smart contracts, taking a practical approach. You'll also learn how to develop your own cryptocurrency from scratch in order to understand the business behind ICO. Further on, you'll get to know the key concepts of the Solidity programming language, enabling you to build decentralized blockchain-based applications. We'll also look at enterprise use cases, where you'll build a decentralized microblogging site. At the end of this book, we discuss blockchain-as-a-service, the dark web marketplace, and various advanced topics so you can get well versed with the blockchain principles and ecosystem.
Table of Contents (18 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Running a smart contract using Web3.js


In this section, we will do a hands-on tutorial. So put on your lab coats! We will do the following right now:

  1. Install Web3.js from GitHub.
  2. Install an HTTP server and get it up and running.
  3. Write a quick-and-dirty JavaScript smart contract using Web3.js.
  4. Open geth and attach our private blockchain with Web3.js.
  5. Open a web browser to launch our smart contract using Web3.js.
  6. Open Mist to validate the outcome of our smart contract.

To install Web3.js from GitHub on Windows, we require the git bash kernel. Once we have installed the git bash kernel, we can clone the Web3.js GitHub path and download the HTTP server using the following command:

> git clone https://github.com/ethereum/web3.js.git> install -g http-server

The outcome is as follows:

Figure 7.4: Web3.js and http-server installation from GitHub

Once the HTTP server is installed, we can kick-start the server with the http-server command. To kill the server instance, we need to press Ctrl + C. Now we...