Ethereum smart contract development in solidity /
Saved in:
Author / Creator: | Zheng, Gavin, author. |
---|---|
Imprint: | Singapore : Springer, [2021] |
Description: | 1 online resource |
Language: | English |
Subject: | Smart contracts. Blockchains (Databases) Application software -- Development. Programming languages (Electronic computers) Application software -- Development. Blockchains (Databases) Programming languages (Electronic computers) Smart contracts. Electronic books. Electronic books. |
Format: | E-Resource Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/12607372 |
Table of Contents:
- Intro
- Preface
- About the Book Structure
- Intended Audience
- Acknowledgement
- Contents
- Part I: Preliminary
- Chapter 1: Basic Concepts
- 1.1 Ethereum
- 1.1.1 Asynchronized Cryptography
- 1.1.1.1 Diffie-Hellman Algorithm
- 1.1.1.2 Private/Public Key
- 1.1.1.3 Encryption
- 1.1.1.4 Verifying Signature
- 1.1.2 Cryptographic Hash Function
- 1.1.3 Peer-to-Peer Network
- 1.1.4 Blockchain
- 1.1.5 Ethereum Virtual Machine (EVM)
- 1.1.6 Node
- 1.1.7 Miner
- 1.1.8 Proof of Work (PoW)
- 1.1.9 Decentralized App (DApp)
- 1.1.10 Solidity
- 1.2 Smart Contract
- 1.3 GAS
- 1.3.1 Why GAS?
- 1.3.2 Components of GAS
- 1.3.2.1 GAS Cost
- 1.3.2.2 GAS Price
- 1.3.2.3 Gas Limit
- 1.4 Ether (ETH)
- 1.5 Account
- 1.6 Transaction
- Chapter 2: Preparation
- 2.1 A Simple Example
- 2.2 Tool Preparation
- 2.2.1 Development Environment
- 2.2.1.1 Node Setup
- 2.2.1.2 Web3 Installation
- 2.2.1.3 Ganache
- 2.2.1.4 Truffle Installation (Fig. 2.3)
- 2.2.2 Development Tools
- 2.2.2.1 Introduction of Remix
- 2.2.2.2 Introduction of Infura
- 2.2.2.3 Introduction of Metamask
- 2.2.2.3.1 Install Metamask
- 2.2.2.3.2 MetaMask
- 2.2.2.3.3 Function of Metamask
- 2.2.2.4 Introduction of Mist
- 2.2.2.5 Other Tools
- 2.2.3 Blockchain Explorer
- 2.3 Testing Environment
- 2.3.1 Metamask Switching Between Testing Environments
- 2.3.2 Obtain Testing Coins
- 2.3.3 Connect to Testing Environment
- 2.4 Ethereum Source Code Compilation
- Part II: Solidity Basics
- Chapter 3: Solidity Basics
- 3.1 Sol File Structure
- 3.1.1 Pragma
- 3.1.2 Import
- 3.1.3 Comment
- 3.1.3.1 Code Comment
- 3.1.3.2 Document Comment
- 3.1.4 Contract
- 3.1.5 Library
- 3.1.6 Interface
- 3.2 Structure of Contract
- 3.3 Variable
- 3.3.1 Value Type
- 3.3.1.1 Boolean
- 3.3.1.2 Integer
- 3.3.1.3 Address
- 3.3.1.4 Fixed Byte Arrays
- 3.3.1.5 Rational and Integer Literals, String Literals
- 3.3.1.6 Enum
- 3.3.1.7 Function Types
- 3.3.1.7.1 Internal Function
- 3.3.1.7.2 External Function
- 3.3.2 Reference Type
- 3.3.2.1 Variable-Length Byte Array (Bytes)
- 3.3.2.2 String
- 3.3.2.3 Array
- 3.3.2.4 Struts
- 3.3.3 Mapping
- 3.3.4 Special Case
- 3.4 Operators
- 3.5 Statement
- 3.5.1 Conditional Statement
- 3.5.2 Loop
- 3.5.3 Miscellaneous
- 3.6 Data Location
- 3.7 Modifier
- 3.7.1 Standard Modifier
- 3.7.1.1 Internal Modifier
- 3.7.1.2 External Modifier
- 3.7.1.3 Public Modifier
- 3.7.1.4 Private Modifier
- 3.7.1.5 Constant Modifier
- 3.7.1.6 View Modifier
- 3.7.1.7 Pure Modifier
- 3.7.1.8 Payable Modifier
- 3.7.1.9 Difference Between Modifiers
- 3.7.1.9.1 External and Public
- 3.7.1.9.2 Internal vs External
- 3.7.2 Self-defined Modifier
- 3.8 Event
- 3.8.1 Return Value to UI
- 3.8.2 Async Trigger with Data
- 3.8.3 Cheap Storage
- 3.8.4 Indexed Parameter in Event
- 3.9 Inheritance
- 3.9.1 Single Inheritance
- 3.9.2 Multi-Inheritance
- 3.10 Miscellaneous
- 3.10.1 Built-in Variable