- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Unlock the future of programming on the Ethereum blockchain with Solidity smart contracts Explore and learn smart contract development on the Ethereum blockchain with Beginning Solidity: Learn to Program Smart Contracts with Solidity by Alexandros Dolgov. This book is a guide to taking your first steps and becoming comfortable with Solidity programming, providing accessible learning material for existing and aspiring programmers who wish to build decentralised applications on the Ethereum platform. This book provides insights into the creation, compilation and deployment of smart contracts and…mehr
Andere Kunden interessierten sich auch für
- Victor Grazi (Java Community Process Executive Committee)Real-World Java49,99 €
- Andrew MartinHacking Kubernetes60,99 €
- Bilgin IbyramKubernetes Patterns42,99 €
- Kurt Dowswell (U.S. Department of Defense)Programming with Github Copilot60,99 €
- Wei-Meng LeeGo Programming Language for Dummies27,99 €
- Greg WilsonSoftware Design by Example51,99 €
- Patrick ViaforeRobust Python40,99 €
-
-
-
Unlock the future of programming on the Ethereum blockchain with Solidity smart contracts Explore and learn smart contract development on the Ethereum blockchain with Beginning Solidity: Learn to Program Smart Contracts with Solidity by Alexandros Dolgov. This book is a guide to taking your first steps and becoming comfortable with Solidity programming, providing accessible learning material for existing and aspiring programmers who wish to build decentralised applications on the Ethereum platform. This book provides insights into the creation, compilation and deployment of smart contracts and decentralised applications. Beginning Solidity demystifies the complexities of the Ethereum blockchain and the Solidity language. From understanding the origins and use of money to basic blockchain concepts such as accounts, transactions, block explorers, wallets and consensus mechanisms, to applications like understanding and creating fungible (ERC-20) and Non-fungible tokens (NFTs) or developing a decentralized auction platform, Alexandros Dolgov covers it all. Through practical examples and real-world scenarios, this book equips you with the knowledge to design, develop, and deploy smart contracts and decentralized apps, positioning you at the forefront of the blockchain revolution. You'll also: * Learn Solidity programming through the Foundry framework making Solidity programming incredibly accessible for those with or without prior coding experience * Become comfortable with the development of Ethereum smart contracts and the deployment of decentralized applications across various sectors * Stay up to date in the rapidly evolving field of blockchain technology with cutting-edge practices and adaptable learning strategies For both practicing and aspiring programmers and developers eager to explore the possibilities of the Ethereum blockchain and Solidity programming, Beginning Solidity is an essential read. Embark on an exciting journey to become proficient in creating blockchain-based applications that can transform the digital world. Grab your copy today and take the first step towards mastering the future of decentralized technology.
Produktdetails
- Produktdetails
- Tech Today
- Verlag: John Wiley & Sons Inc
- Seitenzahl: 576
- Erscheinungstermin: 22. April 2025
- Englisch
- Abmessung: 232mm x 188mm x 34mm
- Gewicht: 1034g
- ISBN-13: 9781394290611
- ISBN-10: 1394290616
- Artikelnr.: 71299238
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- gpsr@libri.de
- Tech Today
- Verlag: John Wiley & Sons Inc
- Seitenzahl: 576
- Erscheinungstermin: 22. April 2025
- Englisch
- Abmessung: 232mm x 188mm x 34mm
- Gewicht: 1034g
- ISBN-13: 9781394290611
- ISBN-10: 1394290616
- Artikelnr.: 71299238
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- gpsr@libri.de
Introduction xix
Chapter 1: What Is Money and a Brief History of It? 1
What Is Money? 1
Money as a Technology 2
Medium of Exchange 3
Store of Value 4
Unit of Account 5
The History and Evolution of Money 5
Barter 6
Primitive Money 7
Primitive Money: Conclusion 10
Modern Types of Money 10
Coins 11
Paper Money 11
Bretton Woods Conference 12
Modern Types of Money: Conclusion 12
Cryptocurrencies 13
Bitcoin 13
Bitcoin's Monetary Properties 14
Bitcoin's "Monetary Policies" 14
Ethereum and Smart Contracts 16
What Are Smart Contracts? 17
Tokenization of Real-World Assets 17
Decentralized Autonomous Organizations 22
Decentralized Exchanges 22
Lending/Borrowing: Aave 23
Travala 23
VitaDAO 24
BeerDAO 24
CityDAO 24
Cryptocurrencies and Smart Contracts: Conclusion 24
Chapter 1 Questions 25
Chapter 2: An Introduction to Ethereum's Architecture 27
Basics of Ethereum 27
The Blockchain Trilemma 31
Smart Contracts 31
The Ethereum Virtual Machine 34
The Ether Coin 34
The Byzantine General's Problem and Ethereum's Consensus Mechanism 35
Gas Fees 36
The Scaling Problem of Ethereum 38
Layer 2 Solutions 40
Rollups 40
Validiums 42
Side-Chains 42
Sharding 43
Danksharding 44
Layer 3 Solutions 44
Ethereum: Toward Finalization 44
Chapter 2 Questions 45
Chapter 3: Wallets, Metamask, and Block Explorers 47
Understanding Wallets 48
Hosted Wallets 48
Advantages, Disadvantages, Best Practices, and Case Studies 48
Browser Wallets 51
Advantages, Disadvantages, and Case Studies 51
Desktop Wallet (Full Nodes) 52
Advantages and Disadvantages 53
Desktop Wallet (Lightweight) 53
Advantages and Disadvantages 53
Mobile Wallets 54
Advantages, Disadvantages, and Case Studies 54
Cold Storage/Hardware Wallet 55
Advantages, Disadvantages, and Best Practices 55
Convert Your Old Phone into a Hardware Wallet 57
Multisignature Wallets 59
Hierarchical Deterministic Wallets 59
Installing MetaMask 60
Logging In Again with the Seed Phrase 62
Changing Networks 64
Engaging with Faucets 65
Sending Your First Transaction 71
Block Explorers 74
Test Network (Testnet) Block Explorer 77
Block Explorer: Transaction Anatomy 78
Block Explorer: Block Anatomy 78
Connecting to DApps 82
Block Explorer: Anatomy of a Wallet 88
Chapter 3 Questions 98
Chapter 4: Remix, Data Types, Visibility, and Helloworld 101
What Is Programming? 101
Starting with Solidity, Remix, and HelloWorld 102
Creating the HelloWorld.sol File in Remix 103
SPDX-License-Identifier 106
Solidity Versions and the pragma Line 107
Contract HelloWorld {} 110
Data Types and Variables in Solidity 111
int 111
uint 112
string 112
address 113
bool 113
bytes 114
Function Visibility Levels 116
Function Anatomy 116
Visibility Levels 116
View and Pure Keywords 117
HelloWorld Contract 117
Chapter 4 Questions 120
Chapter 5: Zoomanagement 123
Setting Up the ZooManagement Contract 123
Structs 130
Arrays 132
Dynamic Arrays 134
Fixed-Size Arrays 135
addAnimal 137
getAnimal 138
Mappings 139
Creating a Mapping 140
Contract Importing 144
Inheritance 149
Single Inheritance 150
Multilevel Inheritance 152
Multiple Inheritance 154
Hierarchical Inheritance 156
Deploying and Running a Contract from Another Contract 158
Chapter 5 Questions 166
Chapter 6: Installing Microsoft Visual Studio Code And Foundry 169
What Is Microsoft VS Code? 169
Microsoft Visual Studio Code Layout 172
Explorer Pane 172
Search Pane 174
Extensions 176
Night Owl 177
Polacode 179
Bookmarks 179
Cloak 180
Solidity Juan Blanco 180
Even Better TOML 180
GitHub Copilot 181
VS Code Keyboard Shortcuts 181
Working on Different Files at the Same Time 184
Mirror/Mini-Map 186
Zen Mode 187
VS Code Terminal 187
Installing Foundry 191
Installing libusb and Homebrew 192
Starting a Foundry Project 196
Chapter 6 Questions 202
Chapter 7: Foundry Zoomanagement 205
The Foundry Project Files 205
Compiling a Contract 208
Introduction to Anvil 211
Local Smart Contract Deployment 215
Using Scripting to Deploy a Contract 218
Contract Interaction with Foundry 224
Deploying a Smart Contract to a Test Network Through Foundry 227
Chapter 7 Questions 235
Chapter 8: Fundraising Contract 237
Setting Up a Fundraising Contract 237
Oracles 240
Deploying the Price Feed Contract Through Remix 251
Solidity Interfaces 254
Creating Libraries 259
Withdraw Function 262
Resetting the Mappings 263
Resetting the listOfSenders Array 264
Sending ETH from a Contract 265
Transfer 265
Send 265
Call 266
Constructor 267
Modifiers 269
Testing the Contract by Deploying It on a Test Network 270
Immutability and Constants 278
Custom Errors 283
Receive and Fallback Functions 284
Chapter 8 Questions 285
Chapter 9: Building An Erc-20 Cryptocurrency 287
Introduction to ERC-20 287
The Process of Creating an Ethereum Improvement Proposal 289
Building an ERC-20 Token with OpenZeppelin 290
Building an ERC-20 Manually 299
Deploy Your ERC-20 Cryptocurrency 307
Chapter 9 Questions 311
Chapter 10: Borrowing and Lending Protocol 313
What Is a Stablecoin? 313
Types of Stablecoins 316
Creating the Stablecoin 322
The Stablecoin Skeleton 327
Chapter 10 Questions 338
Chapter 11: Building An Erc-721 Nonfungible Token 341
What Is an NFT? 341
Setting Up the NFT Project 343
ERC-721 Contract Breakdown 347
Introduction to IPFS 362
Downloading, Installing, and Using IPFS 363
Downloading IPFS 363
Installing the Browser Extension 368
Using IPFS 371
OpenSea 377
Creating the ERC-721 Contract 382
Writing a Deployment Script and Deploying on Sepolia 384
Deploying the Contract 387
Chapter 11 Questions 394
Chapter 12: Upgradable Smart Contracts 397
Introducing Upgradable Contracts 397
Preset Versatility Upgrades 398
Introduction to CertiK 399
Contract Succession Upgrade 405
Proxy Delegated Upgrade 406
Using Delegatecall 410
OpenZeppelin UUPS Proxies 417
Importing UUPSUpgradeable.sol 422
Initializer 426
Deploying the Proxy Contract 431
Chapter 12 Questions 433
Chapter 13: Decentralized Autonomous Organizations 435
What Is a DAO? 435
Exploring the Aave Protocol 439
Snapshot 444
Potential Voting Architectures for a DAO 447
The DAO Toolkit 448
Setting Up the DAO Project 448
Adding the RetrievableNumber.sol Contract 451
Voting Token Contract 454
OpenZeppelin's Contracts Wizard 457
The Governance Contract 460
Timelock Contract 469
Chapter 13 Questions 470
Chapter 14: Introduction to Smart Contract Security 471
The Importance of Smart Contract Security 471
Smart Contract Auditing and Security Best Practices 472
Security Techniques Used for Auditing 478
Having High Confidence and Assurance That Your Smart Contract Is Safe 479
Chapter 14 Questions 480
Chapter 15: THE FIRST (OR One OF THE FIRST) Stepping Stones 481
Uploading Projects to GitHub 481
Finding a Job in the Crypto Industry 484
Continuing with Solidity Education 484
Appendix: Answers to Chapter Questions 487
Chapter 1 What Is Money and a Brief History of It? 487
Chapter 2 An Introduction to Ethereum's Architecture 491
Chapter 3 Wallets, MetaMask, and Block Explorers 494
Chapter 4 Remix, Data Types, Visibility, and HelloWorld 499
Chapter 5 ZooManagement 502
Chapter 6 Installing Microsoft Visual Studio Code and Foundry 505
Chapter 7 Foundry ZooManagement 508
Chapter 8 Fundraising Contract 511
Chapter 9 Building an ERC-20 Cryptocurrency 515
Chapter 10 Borrowing and Lending Protocol 519
Chapter 11 Building an ERC-721 Nonfungible Token 522
Chapter 12 Upgradable Smart Contracts 524
Chapter 13 Decentralized Autonomous Organizations 528
Chapter 14 Introduction to Smart Contract Security 531
Index 535
Chapter 1: What Is Money and a Brief History of It? 1
What Is Money? 1
Money as a Technology 2
Medium of Exchange 3
Store of Value 4
Unit of Account 5
The History and Evolution of Money 5
Barter 6
Primitive Money 7
Primitive Money: Conclusion 10
Modern Types of Money 10
Coins 11
Paper Money 11
Bretton Woods Conference 12
Modern Types of Money: Conclusion 12
Cryptocurrencies 13
Bitcoin 13
Bitcoin's Monetary Properties 14
Bitcoin's "Monetary Policies" 14
Ethereum and Smart Contracts 16
What Are Smart Contracts? 17
Tokenization of Real-World Assets 17
Decentralized Autonomous Organizations 22
Decentralized Exchanges 22
Lending/Borrowing: Aave 23
Travala 23
VitaDAO 24
BeerDAO 24
CityDAO 24
Cryptocurrencies and Smart Contracts: Conclusion 24
Chapter 1 Questions 25
Chapter 2: An Introduction to Ethereum's Architecture 27
Basics of Ethereum 27
The Blockchain Trilemma 31
Smart Contracts 31
The Ethereum Virtual Machine 34
The Ether Coin 34
The Byzantine General's Problem and Ethereum's Consensus Mechanism 35
Gas Fees 36
The Scaling Problem of Ethereum 38
Layer 2 Solutions 40
Rollups 40
Validiums 42
Side-Chains 42
Sharding 43
Danksharding 44
Layer 3 Solutions 44
Ethereum: Toward Finalization 44
Chapter 2 Questions 45
Chapter 3: Wallets, Metamask, and Block Explorers 47
Understanding Wallets 48
Hosted Wallets 48
Advantages, Disadvantages, Best Practices, and Case Studies 48
Browser Wallets 51
Advantages, Disadvantages, and Case Studies 51
Desktop Wallet (Full Nodes) 52
Advantages and Disadvantages 53
Desktop Wallet (Lightweight) 53
Advantages and Disadvantages 53
Mobile Wallets 54
Advantages, Disadvantages, and Case Studies 54
Cold Storage/Hardware Wallet 55
Advantages, Disadvantages, and Best Practices 55
Convert Your Old Phone into a Hardware Wallet 57
Multisignature Wallets 59
Hierarchical Deterministic Wallets 59
Installing MetaMask 60
Logging In Again with the Seed Phrase 62
Changing Networks 64
Engaging with Faucets 65
Sending Your First Transaction 71
Block Explorers 74
Test Network (Testnet) Block Explorer 77
Block Explorer: Transaction Anatomy 78
Block Explorer: Block Anatomy 78
Connecting to DApps 82
Block Explorer: Anatomy of a Wallet 88
Chapter 3 Questions 98
Chapter 4: Remix, Data Types, Visibility, and Helloworld 101
What Is Programming? 101
Starting with Solidity, Remix, and HelloWorld 102
Creating the HelloWorld.sol File in Remix 103
SPDX-License-Identifier 106
Solidity Versions and the pragma Line 107
Contract HelloWorld {} 110
Data Types and Variables in Solidity 111
int 111
uint 112
string 112
address 113
bool 113
bytes 114
Function Visibility Levels 116
Function Anatomy 116
Visibility Levels 116
View and Pure Keywords 117
HelloWorld Contract 117
Chapter 4 Questions 120
Chapter 5: Zoomanagement 123
Setting Up the ZooManagement Contract 123
Structs 130
Arrays 132
Dynamic Arrays 134
Fixed-Size Arrays 135
addAnimal 137
getAnimal 138
Mappings 139
Creating a Mapping 140
Contract Importing 144
Inheritance 149
Single Inheritance 150
Multilevel Inheritance 152
Multiple Inheritance 154
Hierarchical Inheritance 156
Deploying and Running a Contract from Another Contract 158
Chapter 5 Questions 166
Chapter 6: Installing Microsoft Visual Studio Code And Foundry 169
What Is Microsoft VS Code? 169
Microsoft Visual Studio Code Layout 172
Explorer Pane 172
Search Pane 174
Extensions 176
Night Owl 177
Polacode 179
Bookmarks 179
Cloak 180
Solidity Juan Blanco 180
Even Better TOML 180
GitHub Copilot 181
VS Code Keyboard Shortcuts 181
Working on Different Files at the Same Time 184
Mirror/Mini-Map 186
Zen Mode 187
VS Code Terminal 187
Installing Foundry 191
Installing libusb and Homebrew 192
Starting a Foundry Project 196
Chapter 6 Questions 202
Chapter 7: Foundry Zoomanagement 205
The Foundry Project Files 205
Compiling a Contract 208
Introduction to Anvil 211
Local Smart Contract Deployment 215
Using Scripting to Deploy a Contract 218
Contract Interaction with Foundry 224
Deploying a Smart Contract to a Test Network Through Foundry 227
Chapter 7 Questions 235
Chapter 8: Fundraising Contract 237
Setting Up a Fundraising Contract 237
Oracles 240
Deploying the Price Feed Contract Through Remix 251
Solidity Interfaces 254
Creating Libraries 259
Withdraw Function 262
Resetting the Mappings 263
Resetting the listOfSenders Array 264
Sending ETH from a Contract 265
Transfer 265
Send 265
Call 266
Constructor 267
Modifiers 269
Testing the Contract by Deploying It on a Test Network 270
Immutability and Constants 278
Custom Errors 283
Receive and Fallback Functions 284
Chapter 8 Questions 285
Chapter 9: Building An Erc-20 Cryptocurrency 287
Introduction to ERC-20 287
The Process of Creating an Ethereum Improvement Proposal 289
Building an ERC-20 Token with OpenZeppelin 290
Building an ERC-20 Manually 299
Deploy Your ERC-20 Cryptocurrency 307
Chapter 9 Questions 311
Chapter 10: Borrowing and Lending Protocol 313
What Is a Stablecoin? 313
Types of Stablecoins 316
Creating the Stablecoin 322
The Stablecoin Skeleton 327
Chapter 10 Questions 338
Chapter 11: Building An Erc-721 Nonfungible Token 341
What Is an NFT? 341
Setting Up the NFT Project 343
ERC-721 Contract Breakdown 347
Introduction to IPFS 362
Downloading, Installing, and Using IPFS 363
Downloading IPFS 363
Installing the Browser Extension 368
Using IPFS 371
OpenSea 377
Creating the ERC-721 Contract 382
Writing a Deployment Script and Deploying on Sepolia 384
Deploying the Contract 387
Chapter 11 Questions 394
Chapter 12: Upgradable Smart Contracts 397
Introducing Upgradable Contracts 397
Preset Versatility Upgrades 398
Introduction to CertiK 399
Contract Succession Upgrade 405
Proxy Delegated Upgrade 406
Using Delegatecall 410
OpenZeppelin UUPS Proxies 417
Importing UUPSUpgradeable.sol 422
Initializer 426
Deploying the Proxy Contract 431
Chapter 12 Questions 433
Chapter 13: Decentralized Autonomous Organizations 435
What Is a DAO? 435
Exploring the Aave Protocol 439
Snapshot 444
Potential Voting Architectures for a DAO 447
The DAO Toolkit 448
Setting Up the DAO Project 448
Adding the RetrievableNumber.sol Contract 451
Voting Token Contract 454
OpenZeppelin's Contracts Wizard 457
The Governance Contract 460
Timelock Contract 469
Chapter 13 Questions 470
Chapter 14: Introduction to Smart Contract Security 471
The Importance of Smart Contract Security 471
Smart Contract Auditing and Security Best Practices 472
Security Techniques Used for Auditing 478
Having High Confidence and Assurance That Your Smart Contract Is Safe 479
Chapter 14 Questions 480
Chapter 15: THE FIRST (OR One OF THE FIRST) Stepping Stones 481
Uploading Projects to GitHub 481
Finding a Job in the Crypto Industry 484
Continuing with Solidity Education 484
Appendix: Answers to Chapter Questions 487
Chapter 1 What Is Money and a Brief History of It? 487
Chapter 2 An Introduction to Ethereum's Architecture 491
Chapter 3 Wallets, MetaMask, and Block Explorers 494
Chapter 4 Remix, Data Types, Visibility, and HelloWorld 499
Chapter 5 ZooManagement 502
Chapter 6 Installing Microsoft Visual Studio Code and Foundry 505
Chapter 7 Foundry ZooManagement 508
Chapter 8 Fundraising Contract 511
Chapter 9 Building an ERC-20 Cryptocurrency 515
Chapter 10 Borrowing and Lending Protocol 519
Chapter 11 Building an ERC-721 Nonfungible Token 522
Chapter 12 Upgradable Smart Contracts 524
Chapter 13 Decentralized Autonomous Organizations 528
Chapter 14 Introduction to Smart Contract Security 531
Index 535
Introduction xix
Chapter 1: What Is Money and a Brief History of It? 1
What Is Money? 1
Money as a Technology 2
Medium of Exchange 3
Store of Value 4
Unit of Account 5
The History and Evolution of Money 5
Barter 6
Primitive Money 7
Primitive Money: Conclusion 10
Modern Types of Money 10
Coins 11
Paper Money 11
Bretton Woods Conference 12
Modern Types of Money: Conclusion 12
Cryptocurrencies 13
Bitcoin 13
Bitcoin's Monetary Properties 14
Bitcoin's "Monetary Policies" 14
Ethereum and Smart Contracts 16
What Are Smart Contracts? 17
Tokenization of Real-World Assets 17
Decentralized Autonomous Organizations 22
Decentralized Exchanges 22
Lending/Borrowing: Aave 23
Travala 23
VitaDAO 24
BeerDAO 24
CityDAO 24
Cryptocurrencies and Smart Contracts: Conclusion 24
Chapter 1 Questions 25
Chapter 2: An Introduction to Ethereum's Architecture 27
Basics of Ethereum 27
The Blockchain Trilemma 31
Smart Contracts 31
The Ethereum Virtual Machine 34
The Ether Coin 34
The Byzantine General's Problem and Ethereum's Consensus Mechanism 35
Gas Fees 36
The Scaling Problem of Ethereum 38
Layer 2 Solutions 40
Rollups 40
Validiums 42
Side-Chains 42
Sharding 43
Danksharding 44
Layer 3 Solutions 44
Ethereum: Toward Finalization 44
Chapter 2 Questions 45
Chapter 3: Wallets, Metamask, and Block Explorers 47
Understanding Wallets 48
Hosted Wallets 48
Advantages, Disadvantages, Best Practices, and Case Studies 48
Browser Wallets 51
Advantages, Disadvantages, and Case Studies 51
Desktop Wallet (Full Nodes) 52
Advantages and Disadvantages 53
Desktop Wallet (Lightweight) 53
Advantages and Disadvantages 53
Mobile Wallets 54
Advantages, Disadvantages, and Case Studies 54
Cold Storage/Hardware Wallet 55
Advantages, Disadvantages, and Best Practices 55
Convert Your Old Phone into a Hardware Wallet 57
Multisignature Wallets 59
Hierarchical Deterministic Wallets 59
Installing MetaMask 60
Logging In Again with the Seed Phrase 62
Changing Networks 64
Engaging with Faucets 65
Sending Your First Transaction 71
Block Explorers 74
Test Network (Testnet) Block Explorer 77
Block Explorer: Transaction Anatomy 78
Block Explorer: Block Anatomy 78
Connecting to DApps 82
Block Explorer: Anatomy of a Wallet 88
Chapter 3 Questions 98
Chapter 4: Remix, Data Types, Visibility, and Helloworld 101
What Is Programming? 101
Starting with Solidity, Remix, and HelloWorld 102
Creating the HelloWorld.sol File in Remix 103
SPDX-License-Identifier 106
Solidity Versions and the pragma Line 107
Contract HelloWorld {} 110
Data Types and Variables in Solidity 111
int 111
uint 112
string 112
address 113
bool 113
bytes 114
Function Visibility Levels 116
Function Anatomy 116
Visibility Levels 116
View and Pure Keywords 117
HelloWorld Contract 117
Chapter 4 Questions 120
Chapter 5: Zoomanagement 123
Setting Up the ZooManagement Contract 123
Structs 130
Arrays 132
Dynamic Arrays 134
Fixed-Size Arrays 135
addAnimal 137
getAnimal 138
Mappings 139
Creating a Mapping 140
Contract Importing 144
Inheritance 149
Single Inheritance 150
Multilevel Inheritance 152
Multiple Inheritance 154
Hierarchical Inheritance 156
Deploying and Running a Contract from Another Contract 158
Chapter 5 Questions 166
Chapter 6: Installing Microsoft Visual Studio Code And Foundry 169
What Is Microsoft VS Code? 169
Microsoft Visual Studio Code Layout 172
Explorer Pane 172
Search Pane 174
Extensions 176
Night Owl 177
Polacode 179
Bookmarks 179
Cloak 180
Solidity Juan Blanco 180
Even Better TOML 180
GitHub Copilot 181
VS Code Keyboard Shortcuts 181
Working on Different Files at the Same Time 184
Mirror/Mini-Map 186
Zen Mode 187
VS Code Terminal 187
Installing Foundry 191
Installing libusb and Homebrew 192
Starting a Foundry Project 196
Chapter 6 Questions 202
Chapter 7: Foundry Zoomanagement 205
The Foundry Project Files 205
Compiling a Contract 208
Introduction to Anvil 211
Local Smart Contract Deployment 215
Using Scripting to Deploy a Contract 218
Contract Interaction with Foundry 224
Deploying a Smart Contract to a Test Network Through Foundry 227
Chapter 7 Questions 235
Chapter 8: Fundraising Contract 237
Setting Up a Fundraising Contract 237
Oracles 240
Deploying the Price Feed Contract Through Remix 251
Solidity Interfaces 254
Creating Libraries 259
Withdraw Function 262
Resetting the Mappings 263
Resetting the listOfSenders Array 264
Sending ETH from a Contract 265
Transfer 265
Send 265
Call 266
Constructor 267
Modifiers 269
Testing the Contract by Deploying It on a Test Network 270
Immutability and Constants 278
Custom Errors 283
Receive and Fallback Functions 284
Chapter 8 Questions 285
Chapter 9: Building An Erc-20 Cryptocurrency 287
Introduction to ERC-20 287
The Process of Creating an Ethereum Improvement Proposal 289
Building an ERC-20 Token with OpenZeppelin 290
Building an ERC-20 Manually 299
Deploy Your ERC-20 Cryptocurrency 307
Chapter 9 Questions 311
Chapter 10: Borrowing and Lending Protocol 313
What Is a Stablecoin? 313
Types of Stablecoins 316
Creating the Stablecoin 322
The Stablecoin Skeleton 327
Chapter 10 Questions 338
Chapter 11: Building An Erc-721 Nonfungible Token 341
What Is an NFT? 341
Setting Up the NFT Project 343
ERC-721 Contract Breakdown 347
Introduction to IPFS 362
Downloading, Installing, and Using IPFS 363
Downloading IPFS 363
Installing the Browser Extension 368
Using IPFS 371
OpenSea 377
Creating the ERC-721 Contract 382
Writing a Deployment Script and Deploying on Sepolia 384
Deploying the Contract 387
Chapter 11 Questions 394
Chapter 12: Upgradable Smart Contracts 397
Introducing Upgradable Contracts 397
Preset Versatility Upgrades 398
Introduction to CertiK 399
Contract Succession Upgrade 405
Proxy Delegated Upgrade 406
Using Delegatecall 410
OpenZeppelin UUPS Proxies 417
Importing UUPSUpgradeable.sol 422
Initializer 426
Deploying the Proxy Contract 431
Chapter 12 Questions 433
Chapter 13: Decentralized Autonomous Organizations 435
What Is a DAO? 435
Exploring the Aave Protocol 439
Snapshot 444
Potential Voting Architectures for a DAO 447
The DAO Toolkit 448
Setting Up the DAO Project 448
Adding the RetrievableNumber.sol Contract 451
Voting Token Contract 454
OpenZeppelin's Contracts Wizard 457
The Governance Contract 460
Timelock Contract 469
Chapter 13 Questions 470
Chapter 14: Introduction to Smart Contract Security 471
The Importance of Smart Contract Security 471
Smart Contract Auditing and Security Best Practices 472
Security Techniques Used for Auditing 478
Having High Confidence and Assurance That Your Smart Contract Is Safe 479
Chapter 14 Questions 480
Chapter 15: THE FIRST (OR One OF THE FIRST) Stepping Stones 481
Uploading Projects to GitHub 481
Finding a Job in the Crypto Industry 484
Continuing with Solidity Education 484
Appendix: Answers to Chapter Questions 487
Chapter 1 What Is Money and a Brief History of It? 487
Chapter 2 An Introduction to Ethereum's Architecture 491
Chapter 3 Wallets, MetaMask, and Block Explorers 494
Chapter 4 Remix, Data Types, Visibility, and HelloWorld 499
Chapter 5 ZooManagement 502
Chapter 6 Installing Microsoft Visual Studio Code and Foundry 505
Chapter 7 Foundry ZooManagement 508
Chapter 8 Fundraising Contract 511
Chapter 9 Building an ERC-20 Cryptocurrency 515
Chapter 10 Borrowing and Lending Protocol 519
Chapter 11 Building an ERC-721 Nonfungible Token 522
Chapter 12 Upgradable Smart Contracts 524
Chapter 13 Decentralized Autonomous Organizations 528
Chapter 14 Introduction to Smart Contract Security 531
Index 535
Chapter 1: What Is Money and a Brief History of It? 1
What Is Money? 1
Money as a Technology 2
Medium of Exchange 3
Store of Value 4
Unit of Account 5
The History and Evolution of Money 5
Barter 6
Primitive Money 7
Primitive Money: Conclusion 10
Modern Types of Money 10
Coins 11
Paper Money 11
Bretton Woods Conference 12
Modern Types of Money: Conclusion 12
Cryptocurrencies 13
Bitcoin 13
Bitcoin's Monetary Properties 14
Bitcoin's "Monetary Policies" 14
Ethereum and Smart Contracts 16
What Are Smart Contracts? 17
Tokenization of Real-World Assets 17
Decentralized Autonomous Organizations 22
Decentralized Exchanges 22
Lending/Borrowing: Aave 23
Travala 23
VitaDAO 24
BeerDAO 24
CityDAO 24
Cryptocurrencies and Smart Contracts: Conclusion 24
Chapter 1 Questions 25
Chapter 2: An Introduction to Ethereum's Architecture 27
Basics of Ethereum 27
The Blockchain Trilemma 31
Smart Contracts 31
The Ethereum Virtual Machine 34
The Ether Coin 34
The Byzantine General's Problem and Ethereum's Consensus Mechanism 35
Gas Fees 36
The Scaling Problem of Ethereum 38
Layer 2 Solutions 40
Rollups 40
Validiums 42
Side-Chains 42
Sharding 43
Danksharding 44
Layer 3 Solutions 44
Ethereum: Toward Finalization 44
Chapter 2 Questions 45
Chapter 3: Wallets, Metamask, and Block Explorers 47
Understanding Wallets 48
Hosted Wallets 48
Advantages, Disadvantages, Best Practices, and Case Studies 48
Browser Wallets 51
Advantages, Disadvantages, and Case Studies 51
Desktop Wallet (Full Nodes) 52
Advantages and Disadvantages 53
Desktop Wallet (Lightweight) 53
Advantages and Disadvantages 53
Mobile Wallets 54
Advantages, Disadvantages, and Case Studies 54
Cold Storage/Hardware Wallet 55
Advantages, Disadvantages, and Best Practices 55
Convert Your Old Phone into a Hardware Wallet 57
Multisignature Wallets 59
Hierarchical Deterministic Wallets 59
Installing MetaMask 60
Logging In Again with the Seed Phrase 62
Changing Networks 64
Engaging with Faucets 65
Sending Your First Transaction 71
Block Explorers 74
Test Network (Testnet) Block Explorer 77
Block Explorer: Transaction Anatomy 78
Block Explorer: Block Anatomy 78
Connecting to DApps 82
Block Explorer: Anatomy of a Wallet 88
Chapter 3 Questions 98
Chapter 4: Remix, Data Types, Visibility, and Helloworld 101
What Is Programming? 101
Starting with Solidity, Remix, and HelloWorld 102
Creating the HelloWorld.sol File in Remix 103
SPDX-License-Identifier 106
Solidity Versions and the pragma Line 107
Contract HelloWorld {} 110
Data Types and Variables in Solidity 111
int 111
uint 112
string 112
address 113
bool 113
bytes 114
Function Visibility Levels 116
Function Anatomy 116
Visibility Levels 116
View and Pure Keywords 117
HelloWorld Contract 117
Chapter 4 Questions 120
Chapter 5: Zoomanagement 123
Setting Up the ZooManagement Contract 123
Structs 130
Arrays 132
Dynamic Arrays 134
Fixed-Size Arrays 135
addAnimal 137
getAnimal 138
Mappings 139
Creating a Mapping 140
Contract Importing 144
Inheritance 149
Single Inheritance 150
Multilevel Inheritance 152
Multiple Inheritance 154
Hierarchical Inheritance 156
Deploying and Running a Contract from Another Contract 158
Chapter 5 Questions 166
Chapter 6: Installing Microsoft Visual Studio Code And Foundry 169
What Is Microsoft VS Code? 169
Microsoft Visual Studio Code Layout 172
Explorer Pane 172
Search Pane 174
Extensions 176
Night Owl 177
Polacode 179
Bookmarks 179
Cloak 180
Solidity Juan Blanco 180
Even Better TOML 180
GitHub Copilot 181
VS Code Keyboard Shortcuts 181
Working on Different Files at the Same Time 184
Mirror/Mini-Map 186
Zen Mode 187
VS Code Terminal 187
Installing Foundry 191
Installing libusb and Homebrew 192
Starting a Foundry Project 196
Chapter 6 Questions 202
Chapter 7: Foundry Zoomanagement 205
The Foundry Project Files 205
Compiling a Contract 208
Introduction to Anvil 211
Local Smart Contract Deployment 215
Using Scripting to Deploy a Contract 218
Contract Interaction with Foundry 224
Deploying a Smart Contract to a Test Network Through Foundry 227
Chapter 7 Questions 235
Chapter 8: Fundraising Contract 237
Setting Up a Fundraising Contract 237
Oracles 240
Deploying the Price Feed Contract Through Remix 251
Solidity Interfaces 254
Creating Libraries 259
Withdraw Function 262
Resetting the Mappings 263
Resetting the listOfSenders Array 264
Sending ETH from a Contract 265
Transfer 265
Send 265
Call 266
Constructor 267
Modifiers 269
Testing the Contract by Deploying It on a Test Network 270
Immutability and Constants 278
Custom Errors 283
Receive and Fallback Functions 284
Chapter 8 Questions 285
Chapter 9: Building An Erc-20 Cryptocurrency 287
Introduction to ERC-20 287
The Process of Creating an Ethereum Improvement Proposal 289
Building an ERC-20 Token with OpenZeppelin 290
Building an ERC-20 Manually 299
Deploy Your ERC-20 Cryptocurrency 307
Chapter 9 Questions 311
Chapter 10: Borrowing and Lending Protocol 313
What Is a Stablecoin? 313
Types of Stablecoins 316
Creating the Stablecoin 322
The Stablecoin Skeleton 327
Chapter 10 Questions 338
Chapter 11: Building An Erc-721 Nonfungible Token 341
What Is an NFT? 341
Setting Up the NFT Project 343
ERC-721 Contract Breakdown 347
Introduction to IPFS 362
Downloading, Installing, and Using IPFS 363
Downloading IPFS 363
Installing the Browser Extension 368
Using IPFS 371
OpenSea 377
Creating the ERC-721 Contract 382
Writing a Deployment Script and Deploying on Sepolia 384
Deploying the Contract 387
Chapter 11 Questions 394
Chapter 12: Upgradable Smart Contracts 397
Introducing Upgradable Contracts 397
Preset Versatility Upgrades 398
Introduction to CertiK 399
Contract Succession Upgrade 405
Proxy Delegated Upgrade 406
Using Delegatecall 410
OpenZeppelin UUPS Proxies 417
Importing UUPSUpgradeable.sol 422
Initializer 426
Deploying the Proxy Contract 431
Chapter 12 Questions 433
Chapter 13: Decentralized Autonomous Organizations 435
What Is a DAO? 435
Exploring the Aave Protocol 439
Snapshot 444
Potential Voting Architectures for a DAO 447
The DAO Toolkit 448
Setting Up the DAO Project 448
Adding the RetrievableNumber.sol Contract 451
Voting Token Contract 454
OpenZeppelin's Contracts Wizard 457
The Governance Contract 460
Timelock Contract 469
Chapter 13 Questions 470
Chapter 14: Introduction to Smart Contract Security 471
The Importance of Smart Contract Security 471
Smart Contract Auditing and Security Best Practices 472
Security Techniques Used for Auditing 478
Having High Confidence and Assurance That Your Smart Contract Is Safe 479
Chapter 14 Questions 480
Chapter 15: THE FIRST (OR One OF THE FIRST) Stepping Stones 481
Uploading Projects to GitHub 481
Finding a Job in the Crypto Industry 484
Continuing with Solidity Education 484
Appendix: Answers to Chapter Questions 487
Chapter 1 What Is Money and a Brief History of It? 487
Chapter 2 An Introduction to Ethereum's Architecture 491
Chapter 3 Wallets, MetaMask, and Block Explorers 494
Chapter 4 Remix, Data Types, Visibility, and HelloWorld 499
Chapter 5 ZooManagement 502
Chapter 6 Installing Microsoft Visual Studio Code and Foundry 505
Chapter 7 Foundry ZooManagement 508
Chapter 8 Fundraising Contract 511
Chapter 9 Building an ERC-20 Cryptocurrency 515
Chapter 10 Borrowing and Lending Protocol 519
Chapter 11 Building an ERC-721 Nonfungible Token 522
Chapter 12 Upgradable Smart Contracts 524
Chapter 13 Decentralized Autonomous Organizations 528
Chapter 14 Introduction to Smart Contract Security 531
Index 535