Book Image

Mastering Blockchain Programming with Solidity

By : Jitendra Chittoda
Book Image

Mastering Blockchain Programming with Solidity

By: Jitendra Chittoda

Overview of this book

Solidity is among the most popular and contract-oriented programming languages used for writing decentralized applications (DApps) on Ethereum blockchain. If you’re looking to perfect your skills in writing professional-grade smart contracts using Solidity, this book can help. You will get started with a detailed introduction to blockchain, smart contracts, and Ethereum, while also gaining useful insights into the Solidity programming language. A dedicated section will then take you through the different Ethereum Request for Comments (ERC) standards, including ERC-20, ERC-223, and ERC-721, and demonstrate how you can choose among these standards while writing smart contracts. As you approach later chapters, you will cover the different smart contracts available for use in libraries such as OpenZeppelin. You’ll also learn to use different open source tools to test, review and improve the quality of your code and make it production-ready. Toward the end of this book, you’ll get to grips with techniques such as adding security to smart contracts, and gain insights into various security considerations. By the end of this book, you will have the skills you need to write secure, production-ready smart contracts in Solidity from scratch for decentralized applications on Ethereum blockchain.
Table of Contents (21 chapters)
Free Chapter
1
Section 1: Getting Started with Blockchain, Ethereum, and Solidity
5
Section 2: Deep Dive into Development Tools
9
Section 3: Mastering ERC Standards and Libraries
16
Section 4: Design Patterns and Best Practices

Overview of the ERC721 NFT standard

In Chapter 7ERC20 Token Standard, we looked into the ERC20 token standard, which is the standard that's mostly used for minting and transferring the tokens. However, the ERC20 token standard has a state variable, decimals, and by using that variable, each token of the token contract can be fungible to the defined number of decimal places. For example, an ERC20 token with 18 decimal places would enable each of its minted tokens to be fungible up to 18 decimal places. The Solidity language does not support decimal or floating data types; hence, one full unit of a token will have 18 zeros followed by 1, which we can also refer to as 118 or 10 * 18.  These tokens are also identical to each other, which means that one token is equal to another token. For example, if there are two people who both have 1 OmiseGo...