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

API structure of Web3.js


Let me be very honest with you, going through the Web3.js library to find the suitable function required for our contract can be mind-boggling. This is the reason we need to consider the Web3.js 1.0 documentation as our perfect tour-guide brochure. The entire documentation is freely available at https://web3js.readthedocs.io/en/1.0/index.html.

In this section, we will visualize a map of the important APIs so that when we are actually coding our contracts, we can directly jump to the sections of the Web3.js documentation for specifications and parameter usage patterns.

As depicted in Figure 7.3, we have four sub-modules, namely web3-eth, web3-shh, web3-bzz, and web3-utils. In Figure 7.4, we have subdivided the web3-eth module into important sub-API modules. Each sub-module has several helper functions that can be called by a smart contract.

To complete any generic task available via helper function, the calling smart contract must spend ethers necessary for the operation...