Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Solidity Programming Essentials

You're reading from  Solidity Programming Essentials

Product type Book
Published in Apr 2018
Publisher Packt
ISBN-13 9781788831383
Pages 222 pages
Edition 1st Edition
Languages

Table of Contents (17) Chapters

Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
1. Introduction to Blockchain, Ethereum, and Smart Contracts 2. Installing Ethereum and Solidity 3. Introducing Solidity 4. Global Variables and Functions 5. Expressions and Control Structures 6. Writing Smart Contracts 7. Functions, Modifiers, and Fallbacks 8. Exceptions, Events, and Logging 9. Truffle Basics and Unit Testing 10. Debugging Contracts 1. Other Books You May Enjoy Index

Index

A

  • abstract contracts / Abstract contracts
  • address / Address
  • address functions
    • about / The address functions
    • send method / The send method
    • transfer method / The transfer method
    • call method / The call method
    • callcode method / The callcode method
    • delegatecall method / The delegatecall method
  • address global variables / Address global variables
  • Application Binary Interface (ABI) / How are contracts deployed?, The call method
  • application development life cycle management / Application development life cycle management
  • arrays
    • about / Arrays
    • fixed arrays / Fixed arrays
    • dynamic arrays / Dynamic arrays
    • special arrays / Special arrays
    • properties / Array properties
    • structure / Structure of an array
  • assert statement / The assert statement

B

  • balance variable / Address global variables
  • base contract / Inheritance
  • blockchain
    • decentralization / What is a blockchain?
    • about / What is a blockchain?
    • distributed / What is a blockchain?
    • database / What is a blockchain?
    • ledger / What is a blockchain?
    • features / Why blockchains?
    • architecture / Blockchain and Ethereum architecture
    • genesis blocks / How are blocks related to each other?
  • block explorer
    • using / Using a Block Explorer
  • block global variables
    • using / Block and transaction global variables
  • blocks / Blocks
  • Boolean / Boolean
  • break statement / The break statement
  • browser-solidity / How to write smart contracts?
  • bytecode / Ethereum Virtual Machine
  • byte data type / The byte data type

C

  • C3 Linearization / Multiple inheritance
  • callcode method
    • reference / The callcode method
  • call method / The call method
  • Check-Deduct-Transfer (CDF) / The send method
  • Check-Effects-Interaction / The send method
  • child contract / Inheritance
  • constant function / The view, constant, and pure functions
  • constructors
    • about / Constructors
    • composition / Contract composition
  • continue statement / The continue statement
  • contract global variables / Contract global variables
  • contract polymorphism / Contract polymorphism
  • contracts
    • about / What is a contract?, Contracts
    • deploying / How are contracts deployed?
    • structure / Structure of a contract, Structure
    • state variables / State variables
    • modifiers / Modifiers
    • events / Events
    • enumerations / Enumeration
    • functions / Functions
  • cryptography
    • about / Cryptography
    • symmetric cryptography / Symmetric encryption and decryption
    • asymmetric decryption / Asymmetric encryption and decryption
    • hashing / Hashing
    • digital signatures / Digital signatures
  • cryptography global variables / Cryptography global variables

D

  • data location
    • factors / Storage and memory data locations
    • rules / Rule 1, Rule 6, Rule 7, Rule 8
  • data structures, for variable storage
    • storage / Storage and memory data locations
    • memory / Storage and memory data locations
    • call data / Storage and memory data locations
    • stack / Storage and memory data locations
  • data types, Solidity
    • about / Data types in Solidity
    • value types / Value types
    • reference types / Reference types
  • Decentralized Applications (DApp) / Enumerations
  • delegatecall method
    • reference / The delegatecall method
  • derived class / Inheritance
  • do...while loop / The do...while loop
  • dynamic arrays / Dynamic arrays

E

  • encapsulation / Encapsulation
  • end-to-end transaction / An end-to-end transaction
  • enumerations / Enumeration, Enumerations
  • error handling
    • about / Error handling
    • require statement / The require statement
    • assert statement / The assert statement
    • revert statement / The revert statement
  • Ether / Ether
  • Ethereum
    • architecture / Blockchain and Ethereum architecture
    • nodes / Ethereum nodes
    • accounts / Ethereum accounts
    • reference / How to write smart contracts?, Using a Block Explorer
    • networks / Ethereum networks
    • documentation link / The view, constant, and pure functions
  • Ethereum accounts
    • externally owned accounts / Externally owned accounts
    • contract accounts / Contract accounts
  • Ethereum Natural Specification (Natspec)
    • about / Comments
    • reference / Comments
  • Ethereum networks
    • main network / Main network
    • test network / Test network
    • consortium network / Consortium network
  • Ethereum Virtual Machine (EVM) / Blockchain and Ethereum architecture, EVM, Ethereum Virtual Machine
  • events
    • about / Events, Events and logging
    • watching, methods / Events and logging
    • using / Using events

F

  • fallback functions / The fallback function
  • features, blockchains
    • trust / Why blockchains?
    • autonomy / Why blockchains?
    • intermediaries / Why blockchains?
  • first block / How are blocks related to each other?
  • fixed arrays / Fixed arrays
  • fixed sized byte array / The byte data type
  • for loop / The for loop
  • function input / Function input and output
  • function output / Function input and output
  • function polymorphism / Function polymorphism
  • functions / Functions

G

  • ganache-cli
    • about / ganache-cli
    • download link / ganache-cli
  • gas / Gas
  • gas cost / Gas
  • gas price / Gas
  • Geth
    • about / Geth
    • installing, on Windows / Installing Geth on Windows

H

  • hashing process / Hashing
  • hierarchical inheritance / Hierarchical inheritance

I

  • if decision control / The if decision control
  • implicitly typed variable / The var type variables
  • import statement / The import statement
  • inheritance
    • about / Inheritance
    • single inheritance / Single inheritance
    • multi-level inheritance / Multi-level inheritance
    • hierarchical inheritance / Hierarchical inheritance
    • multiple inheritance / Multiple inheritance
  • integers
    • signed integers / Integers
    • unsigned integers / Integers
  • interfaces / Interfaces

K

  • Kovan
    • reference / Kovan

L

  • literals / Literals
  • logging / Events and logging

M

  • major build number / Pragma
  • mappings / Mappings
  • message global variables / Transaction and message global variables
  • MetaMask
    • about / MetaMask
    • download link / MetaMask
  • method overloading / Function polymorphism
  • method overriding / Method overriding
  • Method Resolution Order (MRO) / Multiple inheritance
  • mining nodes / Ethereum mining nodes
  • minor build number / Pragma
  • Mist wallet
    • reference / Mist wallet
    • about / Mist wallet
  • modifiers / Modifiers, Modifiers
  • Morden / Ropsten
  • multi-level inheritance / Multi-level inheritance
  • multiple inheritance / Multiple inheritance

N

  • node package manager (NPM) / ganache-cli
  • nodes, Ethereum
    • EVM / EVM
    • mining nodes / Ethereum mining nodes
    • mining process / How does mining work?

O

  • object-oriented programming (OOP) / Solidity and Solidity files

P

  • parent contract / Inheritance
  • polymorphism
    • about / Polymorphism
    • function polymorphism / Function polymorphism
    • contract polymorphism / Contract polymorphism
  • pragma / Pragma
  • private network
    • creating / Creating a private network
  • Proof of Authority (PoA) / How does mining work?
  • Proof of Stake (PoS) / How does mining work?
  • Proof of Work (PoW) / How does mining work?
  • protocols, for JSON RPC connectivity
    • Inter Process Communication (IPC) / Installing Geth on Windows
    • Remote Procedure Calls (RPC) / Installing Geth on Windows
    • Web Sockets (WS) / Installing Geth on Windows
  • pure functions / The view, constant, and pure functions

R

  • reference type variable
    • passing by reference / Passing by reference
  • Remix
    • reference / How to write smart contracts?
  • Remix editor
    • using / The Remix editor
  • require statement / The require statement
  • return statement / The return statement
  • revert statement / The revert statement
  • Rinkeby / Rinkeby
  • Ropsten / Ropsten

S

  • send method / The send method
  • single inheritance / Single inheritance
  • smart contract
    • about / What is a smart contract?, Smart contracts
    • writing / How to write smart contracts?, Writing a simple contract
    • creating / Creating contracts
    • new keyword, using / Using the new keyword
    • address, using / Using address of a contract
  • Solidity
    • about / Solidity and Solidity files
    • data types / Data types in Solidity
    • expressions / Solidity expressions
  • Solidity compiler / Solidity compiler
  • Solidity contracts, debugging
    • about / Debugging
    • Remix editor, using / The Remix editor
    • events, using / Using events
  • Solidity file
    • about / Solidity and Solidity files
    • pragma / Pragma
    • comments / Comments
    • import statement / The import statement
    • contracts / Contracts
  • special arrays
    • about / Special arrays
    • bytes array / The bytes array
    • String array / The String array
  • state mutability / The view, constant, and pure functions
  • state variable / State variables
  • structure / Structure

T

  • test network
    • about / Test network
    • Ropsten / Ropsten
    • Rinkeby / Rinkeby
    • Kovan / Kovan
  • transaction
    • and block, relation / How are transactions and blocks related to each other?
    • about / Transactions
    • types / Transactions
    • properties / Transactions
  • transaction global variables
    • using / Block and transaction global variables
    • about / Transaction and message global variables
  • transaction Merkle root hash / How are transactions and blocks related to each other?
  • transfer method / The transfer method
  • Truffle
    • about / Truffle
    • used, for development / Development with Truffle
    • used, for testing / Testing with Truffle
  • tx.origin global variable
    • and msg.sender, differentiating between / Difference between tx.origin and msg.sender
  • type conversion
    • about / Type conversion
    • implicit conversion / Implicit conversion
    • explicit conversion / Explicit conversion

U

  • unit testing / Testing with Truffle
  • unsigned integer / State variables

V

  • value types
    • about / Value types
    • passing by value / Passing by value
  • variables
    • hosting / Variables hoisting
    • scoping / Variable scoping
  • var type variables / The var type variables
  • view function / The view, constant, and pure functions

W

  • web3 JavaScript library / The web3 JavaScript library
  • wei
    • reference / Ether
  • while loop / The while loop
  • Windows
    • Geth installation / Installing Geth on Windows
lock icon The rest of the chapter is locked
arrow left Previous Chapter
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}