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

Web3.js in the Ethereum ecosystem


Dale Carnegie, the famous self-improvement trainer, said that financial success is due to 15 percent technical skill, the remaining 85 percent being due to the ability to express ideas and arouse enthusiasm among people. Blockchain might be a cutting-edge technology backed by sound computing principles, but to make it a financial success we need to have mass adoption among people. For this, we need an interface to which everyone can relate.

Web3.js is one technology that can help us in this area of concern. Web3.js provides JavaScript bindings to Ethereum, which can then be used to build intuitive user interfaces using the web stack.

Figure 7.1: Web3.js interacting with a private blockchain via geth

It provides an abstraction to hide the complex internal works of smart contracts on the blockchain. In simple words, a web application implemented in JavaScript communicates with an Ethereum node or transacts with a smart contract on the blockchain using the Web3...