Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Solidity Programming Essentials
Solidity Programming Essentials

Solidity Programming Essentials: A guide to building smart contracts and tokens using the widely used Solidity language , Second Edition

eBook
$29.99 $33.99
Paperback
$41.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Solidity Programming Essentials

Chapter 1: An Introduction to Blockchain, Ethereum, and Smart Contracts

The last decade has already seen an extraordinary evolution of the technology and computing ecosystem. Technological innovation and its impact have been noticeable across the spectrum, from the Internet of Things (IoT) and Artificial Intelligence (AI) to blockchains. Each of them has had a disruptive force within multiple industries, and blockchains are one of the most disruptive technologies today – so much so that blockchains have the potential to change almost every industry. Blockchains are revolutionizing almost all industries and domains while bringing forward newer business models. Blockchain is not a new technology; however, it has gained momentum over the last couple of years. It is a big leap forward in terms of thinking about decentralized and distributed applications. It is about the current architectural landscape and strategies for moving toward immutable distributed databases.

In this chapter, you will quickly learn and understand the basic and foundational concepts of blockchains and Ethereum. We will also discuss some of the important concepts that make blockchains and Ethereum work. Also, we will touch briefly on the topic of smart contracts and how to author them using Solidity.

Please note that this chapter explains important blockchain concepts briefly. It does not explain all concepts in great detail, as that would require a complete book by itself. Since Ethereum is an implementation of a blockchain, both the terms will be used interchangeably in this book.

This chapter will focus on introducing the following topics:

  • What a blockchain is and why it is used
  • Understanding cryptography
  • Blockchain and Ethereum architecture
  • Ether, gas, and transactions
  • Consensus
  • Nodes
  • Mining
  • Understanding accounts, transactions, and blocks
  • Smart contracts

By the end of this chapter, you will know all about the basics of blockchain, Ethereum, and smart contracts, which will prepare the base for the next chapters.

Technical requirements

To execute the instructions given in this chapter, you can use a machine with any operating system (Mac, Windows, or Linux) with a browser installed on it. Code for this chapter can be found on GitHub at https://github.com/PacktPublishing/Solidity-Programming-Essentials-Second-Edition/tree/main/Chapter01.

What is a blockchain?

A blockchain is essentially a decentralized, distributed database or ledger, as follows:

  • Decentralization: In simple terms, this means that the application or service continues to be available and usable even if a server or a group of servers on a network crashes or is not available. The service or application is deployed on a network in a way that no server has absolute control over data and execution; rather, each server has a current copy of data and execution logic.
  • Distributed: This means that any server or node on a network is connected to every other node on the network. Rather than having one-to-one or one-to-many connectivity between servers, servers have many-to-many connections with other servers.
  • Database: This refers to the location for storing durable data that can be accessed at any point in time. A database allows the storage and retrieval of data as functionality and also provides management functionalities to manage data efficiently, such as exporting, importing, backup, and restoration.
  • Ledger: This is an accounting term. Think of it as specialized storage and retrieval of data. Think of ledgers that are available to banks – for example, when a transaction is executed with a bank. Let's say that Tom deposits USD 100 in his account; the bank enters this information in a ledger as credit. At some point in the future, Tom withdraws USD 25. The bank does not modify the existing entry and stored data from 100 to 75. Instead, it adds another entry in the same ledger as a debit of USD 25. This is because a ledger is a specialized database that does not allow modification of existing data. It allows you to create and append a new transaction to modify the current balance in the ledger. The blockchain is a database that has the same characteristics as a ledger. It allows newer transactions to be stored in an append-only pattern without any scope to modify past transactions. It is important here to understand that existing data can be modified by using a new transaction, but past transactions cannot be modified. A balance of USD 100 can be modified at any time by executing a new debit or credit transaction, but previous transactions cannot be modified. Take a look at the following diagram for a better understanding:
Figure 1.1 – A blockchain is essentially a chain of blocks

Figure 1.1 – A blockchain is essentially a chain of blocks

Blockchain means a chain of blocks – that is, having multiple blocks chained together, with each block storing transactions in such a way that it is not possible to change these transactions. We will discuss this in later sections when we talk about the storage of transactions and how immutability is achieved in a blockchain.

Because they are decentralized and distributed, blockchain solutions are stable, robust, durable, and highly available. There is no single point of failure. No single node or server is the owner of the data and solution, and everyone participates as a stakeholder.

Not being able to change and modify past transactions makes blockchain solutions highly trustworthy, transparent, and incorruptible.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn proven smart contract implementation challenges and solve them using Solidity
  • Go deeper into Solidity to write effective upgradable and maintainable smart contracts using best practices
  • Get to grips with the latest version of Solidity with updated codes and examples

Description

Solidity is a high-level language for writing smart contracts, and the syntax has large similarities with JavaScript, thereby making it easier for developers to learn, design, compile, and deploy smart contracts on large blockchain ecosystems including Ethereum and Polygon among others. This book guides you in understanding Solidity programming from scratch. The book starts with step-by-step instructions for the installation of multiple tools and private blockchain, along with foundational concepts such as variables, data types, and programming constructs. You’ll then explore contracts based on an object-oriented paradigm, including the usage of constructors, interfaces, libraries, and abstract contracts. The following chapters help you get to grips with testing and debugging smart contracts. As you advance, you’ll learn about advanced concepts like assembly programming, advanced interfaces, usage of recovery, and error handling using try-catch blocks. You’ll also explore multiple design patterns for smart contracts alongside developing secure smart contracts, as well as gain a solid understanding of writing upgradable smart concepts and data modeling. Finally, you’ll discover how to create your own ERC20 and NFT tokens from scratch. By the end of this book, you will be able to write, deploy, and test smart contracts in Ethereum.

Who is this book for?

This Ethereum book is primarily aimed at beginners who want to get started with Solidity Programming for developing an Ethereum smart contract. No prior knowledge of EVM is required, but knowing the basics of any programming language will help you follow along.

What you will learn

  • Write efficient, effective, and secure smart contracts
  • Code, compile, and test smart contracts in an object-oriented way
  • Implement assembly code in Solidity
  • Adopt upgradable and haltable ownership and security design patterns
  • Understand exception handling and debugging in Solidity
  • Create new ERC20 and NFT tokens from the ground up

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jun 10, 2022
Length: 412 pages
Edition : 2nd
Language : English
ISBN-13 : 9781803234793
Category :
Concepts :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Jun 10, 2022
Length: 412 pages
Edition : 2nd
Language : English
ISBN-13 : 9781803234793
Category :
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 137.97
Blockchain Development for Finance Projects
$48.99
Solidity Programming Essentials
$41.99
Building Python Microservices with FastAPI
$46.99
Total $ 137.97 Stars icon

Table of Contents

20 Chapters
Part 1: The Fundamentals of Solidity and Ethereum Chevron down icon Chevron up icon
Chapter 1: An Introduction to Blockchain, Ethereum, and Smart Contracts Chevron down icon Chevron up icon
Chapter 2: Installing Ethereum and Solidity Chevron down icon Chevron up icon
Chapter 3: Introducing Solidity Chevron down icon Chevron up icon
Chapter 4: Global Variables and Functions Chevron down icon Chevron up icon
Chapter 5: Expressions and Control Structures Chevron down icon Chevron up icon
Part 2: Writing Robust Smart Contracts Chevron down icon Chevron up icon
Chapter 6: Writing Smart Contracts Chevron down icon Chevron up icon
Chapter 7: Solidity Functions, Modifiers, and Fallbacks Chevron down icon Chevron up icon
Chapter 8: Exceptions, Events, and Logging Chevron down icon Chevron up icon
Chapter 9: Basics of Truffle and Unit Testing Chevron down icon Chevron up icon
Chapter 10: Debugging Contracts Chevron down icon Chevron up icon
Part 3: Advanced Smart Contracts Chevron down icon Chevron up icon
Chapter 11: Assembly Programming Chevron down icon Chevron up icon
Chapter 12: Upgradable Smart Contracts Chevron down icon Chevron up icon
Chapter 13: Writing Secure Contracts Chevron down icon Chevron up icon
Chapter 14: Writing Token Contracts Chevron down icon Chevron up icon
Chapter 15: Solidity Design Patterns Chevron down icon Chevron up icon
Assessments Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.6
(8 Ratings)
5 star 37.5%
4 star 25%
3 star 12.5%
2 star 12.5%
1 star 12.5%
Filter icon Filter
Top Reviews

Filter reviews by




Aditya Aug 02, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Only Available book,focused Solidity in depth...unlike every other book which focuses on everything about dapp but not explaining the solidity only.
Amazon Verified review Amazon
POE Jul 01, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
If you are like me and want to get into the world of Blockchain, this book is a great starting point. The author breaks down the concepts and terminology of Blockchain early in the book, so the rest of it will make more sense. Ethereum, an open source blockchain technology for digital currency, is explained along with related concepts of hashing and encryption. The more complex topics of Solidity and smart contracts are covered in great detail. These contracts seem to be the main point of the book as the majority of the chapters detail specific aspects of smart contracts. The author even included sections on assembly programming, and Non-Fungible Tokens (NFTs).
Amazon Verified review Amazon
VIRAJ PATVA Oct 06, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book covers all the aspects for Solidity Developer at one place. When I was new to solidity programming I faced a issue that I wasn't able to get good content curated at a place. This book very helpful to start career as Solidity Developer.The book didn't cover Web3.js / Ether.js that is required for Dapp development. Anyways author can write out other book on Dapp Development
Amazon Verified review Amazon
luca r. Oct 09, 2022
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
This book contains all the essentials in order to get you from 0 to hero. I have taken multiple solidty courses and this by far gives the best foundations in order to understand bigger and more complex projects. Since solidty and blockchain programming have been recently in the rise, if this interests you I would 10/10 recommend having this book.
Amazon Verified review Amazon
Josh Oct 05, 2022
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
As someone that has written smart contracts before, this book covers all the basics and some advanced topics. The descriptions are not too clear in some parts, but the code examples are there to help. It's programming so you're going to learn best by doing and using the writing as a guide.That being said I wouldn't rely on this (or any other source) as a complete guide to learning Solidity. It's a more advanced language so it's better to start with another language before picking this up.Overall not bad. The author introduces the reasons behind some common practices that will make you a better developer and ensures you're ready to write a wide range of contracts with practice of the concepts introduced in the book. Would recommend.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.