Ethereum smart contract development in solidity /

Saved in:
Bibliographic Details
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
Hidden Bibliographic Details
Other authors / contributors:Gao, Longxiang.
Huang, Liqun.
Guan, Jian.
ISBN:9789811562181
9811562180
9811562172
9789811562174
9789811562198
9811562199
Digital file characteristics:text file PDF
Notes:3.10.1.1 Special Variable
Description based on online resource; title from digital title page (viewed on October 14, 2020).
Summary:The general consensus is that BlockChain is the next disruptive technology, and Ethereum is the flagship product of BlockChain 2.0. However, coding and implementing business logic in a decentralized and transparent environment is fundamentally different from traditional programming and is emerging as a major challenge for developers. This book introduces readers to the Solidity language from scratch, together with case studies and examples. It also covers advanced topics and explains the working mechanism of smart contracts in depth. Further, it includes relevant examples that shed new light on the forefront of Solidity programming. In short, it equips readers with essential practical skills, allowing them to quickly catch up and start using Solidity programming. To gain the most from the book, readers should have already learned at least one object-oriented programming language.
Other form:Print version: Zheng, Gavin Ethereum Smart Contract Development in Solidity Singapore : Springer Singapore Pte. Limited,c2020 9789811562174
Standard no.:10.1007/978-981-15-6
10.1007/978-981-15-6218-1
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