Book description
A comprehensive guide sprinkled with lots of hands-on code samples to get you up and running with Solidity and writing your smart contracts on Blockchain and Ethereum
Key Features
- 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
Book 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.
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
Who this book is 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.
Table of contents
- Solidity Programming Essentials Second Edition
- Contributors
- About the author
- About the reviewer
- Preface
- Part 1: The Fundamentals of Solidity and Ethereum
- Chapter 1: An Introduction to Blockchain, Ethereum, and Smart Contracts
- Chapter 2: Installing Ethereum and Solidity
-
Chapter 3: Introducing Solidity
- Technical requirements
- The Ethereum Virtual Machine
- Understanding Solidity and Solidity files
- The structure of a contract
- Exploring data types in Solidity
- Storage and memory data locations
- Using literals
- Understanding integers
- Understanding Boolean
- The byte data type
- Understanding arrays
- Knowing more about the structure of an array
- Enumerations
- Understanding the address data type
- Working with mappings
- Summary
- Questions
- Further reading
- Chapter 4: Global Variables and Functions
- Chapter 5: Expressions and Control Structures
- Part 2: Writing Robust Smart Contracts
- Chapter 6: Writing Smart Contracts
- Chapter 7: Solidity Functions, Modifiers, and Fallbacks
- Chapter 8: Exceptions, Events, and Logging
- Chapter 9: Basics of Truffle and Unit Testing
- Chapter 10: Debugging Contracts
- Part 3: Advanced Smart Contracts
- Chapter 11: Assembly Programming
-
Chapter 12: Upgradable Smart Contracts
- Technical requirements
- Learning what constitutes upgradability
- Understanding dependency injection
- Reviewing problematic smart contracts
- Implementing simple solutions with inheritance
- Implementing simple solutions with composition
- Implementing advanced solutions using proxy contracts
- Writing upgradable contracts with upgradable storage
- Summary
- Questions
- Further reading
- Chapter 13: Writing Secure Contracts
- Chapter 14: Writing Token Contracts
-
Chapter 15: Solidity Design Patterns
- Technical requirements
- Introducing entity modeling
- Understanding data modeling in Solidity
- Exploring types of relationships
- Reviewing the rules for embedding structures
- Performing data modeling using an example
- Ownership in smart contracts
- Exploring ownership in Solidity
- Establishing ownership of a smart contract
- Stoppable/haltable smart contract pattern
- Summary
- Questions
- Further reading
-
Assessments
- Chapter 1, Introduction to Blockchain, Ethereum, and Smart Contracts
- Chapter 2, Installing Ethereum and Solidity
- Chapter 3, Introducing Solidity
- Chapter 4, Global Variables and Functions
- Chapter 5, Expressions and Control Structures
- Chapter 6, Writing Smart Contracts
- Chapter 7, Functions, Modifiers, and Fallbacks
- Chapter 8, Exceptions, Events, and Logging
- Chapter 9, Truffle Basics and Unit Testing
- Chapter 10, Debugging Contracts
- Chapter 11, Assembly Programming
- Chapter 12, Upgradable Smart Contracts
- Chapter 13, Writing Secure Contracts
- Chapter 14, Writing Token Contracts
- Chapter 15, Solidity Design Patterns
- Why subscribe?
- Other Books You May Enjoy
Product information
- Title: Solidity Programming Essentials - Second Edition
- Author(s):
- Release date: June 2022
- Publisher(s): Packt Publishing
- ISBN: 9781803231181
You might also like
book
Solidity Programming Essentials
Learn the most powerful and primary programming language for writing smart contracts and find out how …
book
Enterprise Application Development with C# 10 and .NET 6 - Second Edition
A comprehensive guide to every important component of C# and .NET 6 required to build robust …
book
Game Development with Rust and WebAssembly
Write an endless runner game for the web in Rust and test, deploy, and debug your …
book
C# 10 and .NET 6 – Modern Cross-Platform Development - Sixth Edition
Publisher’s Note: Microsoft will stop supporting .NET 6 from November 2024. The newer 8th edition of …