Muutke küpsiste eelistusi

E-raamat: Introducing Ethereum and Solidity: Foundations of Cryptocurrency and Blockchain Programming for Beginners

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 16-Mar-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484225356
  • Formaat - EPUB+DRM
  • Hind: 67,91 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Teaches you how to use Solidity and the Ethereum project – second only to Bitcoin in market capitalization. Blockchain protocols are taking the world by storm, and the Ethereum project, with its Turing-complete scripting language Solidity, has rapidly become a front-runner. Technologists from all fields and skill levels are converging to learn blockchain development and the potential of powerful censor-proof “dapps” is drawing new non-programmers to the space.

Unlike Bitcoin, Ethereum has its own scripting language called Solidity, and Solidity gets its syntax from JavaScript. This book presents the blockchain phenomenon in context; then it situates Ethereum in a world pioneered by Bitcoin. It explains why developers and non-developers alike should consider developing their skills in smart contract patterns and distributed application development. Finally, it reviews the fundamentals of JavaScript programming alongside its introduction to Solidity programming, so that people who are unfamiliar with JavaScript, or people with rusty skills, can follow along and get coding. Finally, you will deploy a dapp with a regular HTML interface that can be accessed on the Web.

Every Solidity tutorial out there today has the same flaw: they are written for advanced JavaScript developers who want to transfer their skills to a blockchain environment that will feel familiar. This book is accessible to non-JavaScript developers as much as it is to JavaScript developers. It is a powerful gateway for creative technologists of all types, from concept to deployment.

What You’ll Learn
  • Understand how Ethereum (and other cryptocurrencies) work
  • Learn how distributed apps (dapps) are different than web apps
  • Write Ethereum smart contracts in Solidity language
  • Connect Ethereum smart contracts to your HTML/CSS/JavaScript web applications
  • Deploy your own dapp, coin, and blockchain
  • Try out some basic and intermediate smart contracts
Who This Book Is For 

Anyone who is curious about Ethereum will derive huge benefit from this book. It’s accessible to anyone who has some familiarity with computer science, including product managers, CTOs, computer science, self-taught hackers, and anyone else who wants to get up and running with Ethereum quickly -- but lacks a strong JavaScript or web app development background.

Experienced JavaScript programmers can also skip the first few sections and get a powerful introduction to smart contract authorship, dapp development, and dapp deployment. By the end of this book they will have a deep understanding of how blockchains work, and will be able to deploy real censor-proof dapps in the wild.

Experts will find the advanced sample projects in this book rewarding, too, simply because of the power of Solidity. This book contains exciting sample code that can move real world assets, which will appeal to academic and corporate programmers. By the end of the book, users will be able to build functioning financial services applications and “roll their own” blockchain or cryptocurrency.


About the Author xix
About the Technical Reviewer xxi
Chapter 1 Bridging the Blockchain Knowledge Gap
1(20)
Blockchain Roll Call!
1(1)
What Ethereum Does
2(2)
Three Parts of a Blockchain
4(2)
Ethereum Assumes Many Chains
5(1)
This Is a Scam, Just Like Bitcoin!
5(1)
Ether as a Currency and Commodity
6(2)
Gresham's Law
6(1)
The Path to Better Money
7(1)
Cryptoeconomics and Security
7(1)
Back to the Good Old Days
8(1)
Cryptochaos
8(1)
The Power Is in the Protocol
8(2)
You Can Build Trustless Systems
9(1)
What Smart Contracts (Really) Do
10(2)
Objects and Methods for Value
10(1)
Just Add Commerce
11(1)
Content Creation
11(1)
Where's the Data?
12(1)
What Is Mining?
12(1)
Ether and Electricity Prices
12(1)
Going Inside the EVM
13(1)
The Mist Browser
13(1)
Browser vs. Wallet or Keychain
13(1)
Solidity Is Kind of Like JavaScript, But
13(1)
What Ethereum Is Good For
14(2)
A Critical Take
14(1)
State of Smart Contract Development Today
15(1)
Deciding Where You Fit In
16(1)
A Note to New Programmers
17(1)
Ethereum Is Free and Open Source
17(1)
The EVM Is Here to Stay
17(1)
What You Can Build Today
18(2)
Private and Public Chains
18(1)
The Promise of Decentralized Databases
19(1)
What's Next: New Ways of Working
20(1)
Summary
20(1)
Chapter 2 The Mist Browser
21(26)
Wallets as a Computing Metaphor
22(2)
Your Address Is What?
22(1)
Where Is My Ether?
23(1)
The Bank Teller Metaphor
24(2)
In Cryptocurrency, You Hold Your Own Assets
24(1)
Visualizing Ethereum Transactions
24(2)
Breaking with Banking History
26(1)
How Encryption Leads to Trust
26(2)
System Requirements
28(2)
More about Eth.guide and This Book
28(1)
Tools for Developers
29(1)
CLI Nodes
29(1)
Recommended: Using Parity with Geth
30(1)
Finally, into the Mist!
30(13)
Downloading and Installing Mist
30(2)
Configuring Mist
32(4)
Finding Your New Address
36(1)
Sending and Receiving Ether
36(2)
Understanding Ethereum Account Types
38(1)
Backing Up and Restoring Your Keys
39(1)
Using Paper Wallets
40(1)
Using Mobile Wallets
40(2)
Working with Messages and Transactions
42(1)
So, What Is a Blockchain?
43(2)
Paying for Transactions
43(1)
Understanding Denominations
44(1)
Getting Ether
44(1)
Anonymity in Cryptocurrency
45(1)
Blockchain Explorers
45(1)
Summary
46(1)
Chapter 3 The EVM
47(22)
The Central Bank Network of Yesterday
47(1)
What are Virtual Machines, Exactly?
48(1)
The Role of the Ethereum Protocol in Banking
48(1)
Anyone Can Make a Banking Platform
48(1)
What the EVM Does
49(2)
EVM Applications Are Called Smart Contracts
51(1)
The Name "Smart Contracts"
51(1)
The EVM Runs Bytecode
51(1)
Understanding State Machines
51(2)
Digital vs. Analog
51(1)
"State-ments"
52(1)
Data's Role instate
53(1)
How the Guts of the EVM Work
53(2)
The EVM Constantly Checks for Transactions
54(1)
Creating a Common Machine Narrative of What Happened
54(1)
Cryptographic Hashing
55(1)
What Hash Functions (or Hash Algorithms) Do
55(1)
Blocks: The History of State Changes
55(2)
Understanding Block Time
56(1)
The Drawbacks of Short Blocks
56(1)
"Solo Node" Blockchain
56(1)
Distributed Security
57(1)
Mining's Place in the State Transition Function
57(1)
Renting Time on the EVM
58(1)
Hello, Gas
58(2)
Why Is Gas So Important?
59(1)
Why Isn't Gas Priced in Ether?
59(1)
Fees as Regulation
59(1)
Working with Gas
60(1)
Gas Specifics
60(1)
How Gas Relates to Scaling the System
60(1)
Accounts, Transactions, and Messages
61(1)
Externally Owned Accounts
61(1)
Contract Accounts
61(1)
Transactions and Messages
62(1)
Characteristics of Transactions
62(1)
Characteristics of Messages
62(1)
Estimating Gas Fees for Operations
63(1)
Opcodes in the EVM
64(3)
Summary
67(2)
Chapter 4 Solidity Programming
69(20)
Primer
69(1)
Global Banking Made (Almost) Real
70(1)
Extra-Large Infrastructure
70(1)
Worldwide Currency?
70(1)
Complementary Currency
71(1)
The Promise of Solidity
71(1)
Browser Compiler
72(1)
Learning to Program the EVM
72(2)
Easy Deployment
73(1)
The Case for Writing Business Logic in Solidity
74(1)
Code, Deploy, Relax
74(1)
Design Rationale
74(2)
Writing Loops in Solidity
75(1)
Expressiveness and Security
76(1)
The Importance of Formal Proofs
76(2)
Historical Impact of a Shared Global Resource
76(1)
How Attackers Bring Down Communities
77(1)
Hypothetical Attack Written in Solidity
77(1)
Automated Proofs to the Rescue?
78(1)
Determinism in Practice
78(1)
Lost in Translation
78(1)
Testing, Testing, Testing
79(2)
Command Line Optional!
79(2)
Formatting Solidity Files
81(1)
Tips for Reading Code
81(1)
Statements and Expressions in Solidity
82(1)
What Is an Expression?
82(1)
What Is a Statement?
82(1)
Functions, Public and Private
82(1)
Value Types
83(2)
Booleans
83(1)
Signed and Unsigned Integers
83(1)
Addresses
83(1)
Members of Addresses
83(1)
Address-Related Keywords
84(1)
Less-Common Value Types
84(1)
Complex (Reference) Types
84(1)
Global Special Variables, Units, and Functions
85(3)
Block and Transaction Properties
85(1)
Operators Cheat Sheet
86(1)
Global Functions
87(1)
Exceptions and Inheritance
88(1)
Summary
88(1)
Chapter 5 Smart Contracts and Tokens
89(22)
EVM as Back End
89(1)
Smart Contracts to Dapps
90(1)
Assets Backed by Anything
90(1)
Bartering with Fiat Currency
90(1)
Ether as Glass Beads
90(1)
Cryptocurrency Is a Measure of Time
91(3)
Asset Ownership and Civilization
92(1)
Coins are Collectibles
93(1)
The Function of Collectibles in Human Systems
94(2)
Early Counterfeiting
95(1)
Jewelry and Art as Money
95(1)
The Step Toward Banknotes
95(1)
Platforms for High-Value Digital Collectibles
96(1)
Tokens Are a Category of Smart Contract
97(1)
Tokens as Social Contracts
97(1)
Tokens Are a Great First App
98(1)
Creating a Token on the Testnet
98(9)
Getting Test Ether from the Faucet
99(7)
Registering Your Tokens
106(1)
Deploying Your First Contract
107(3)
Same House, Different Address
108(2)
Playing with Contracts
110(1)
Summary
110(1)
Chapter 6 Mining Ether
111(28)
What's the Point?
111(1)
Ether's Source
112(1)
Defining Mining
112(1)
Versions of the Truth
113(3)
Difficulty, Self-Regulation, and the Race for Profit
114(1)
How Proof of Work Helps Regulate Block Time
115(1)
What's Going on with the DAG and Nonce?
116(1)
All This for Faster Blocks?
117(1)
Making Fast Blocks Work
117(1)
How Ethereum Uses Stale Blocks
118(1)
Uncle Rules and Rewards
119(1)
The Difficulty Bomb
119(2)
Miner's Winning Payout Structure
120(1)
Limits on Ancestry
120(1)
The Block Processing Play by Play
120(1)
Evaluating the Ancestry of Blocks and Transactions
121(1)
How Ethereum and Bitcoin Use Trees
122(1)
Merkle-Patricia Trees
122(1)
Contents of an Ethereum Block Header
123(1)
Forking
123(1)
Mining Tutorial
124(4)
Installing Geth on macOS
125(1)
Installing Geth on Windows
125(1)
Getting Comfortable with the Command Line
125(1)
Installing Geth on Ubuntu 14.04
126(2)
Executing Commands in the EVM via the Geth Console
128(3)
Launching Geth with Flags
131(1)
Fire Up Your Miner!
132(2)
Mining on the Testnet
134(1)
GPU Mining Rigs
134(2)
Mining on a Pool with Multiple GPUs
136(1)
Summary
136(3)
Chapter 7 Cryptoeconomics Survey
139(10)
How We Got Here
139(2)
New Technologies Create New Economies
140(1)
Rules of the Game
141(1)
Why Is Cryptoeconomics Useful?
141(3)
Understanding Hashing vs. Encryption
142(1)
Encryption
142(1)
Hashing
143(1)
Why the Speed of Blocks Matters
144(1)
Ether Issuance Scheme
144(1)
Common Attack Scenarios
145(2)
Social Proof Between Machines
146(1)
Security as the Network Scales
146(1)
More About Cryptoeconomics
147(1)
Summary
147(2)
Chapter 8 Dapp Deployment
149(10)
Seven Ways to Think About Smart Contracts
150(1)
Dapp Contract Data Models
150(1)
How an EVM Back End Talks to a JS Front End
151(1)
JSON-RPC
151(1)
Web 3 Is Here (Almost)
152(1)
Experimenting with the JavaScript API
153(1)
Using Geth for Dapp Deployment
153(1)
Using Meteor with the EVM
154(1)
Install Web3.js to Build an Ethereum-Enabled Web Application
154(1)
Executing Contracts in the Console
155(1)
How Contracts Expose an Interface
155(1)
Recommendations for Prototyping
156(1)
Third-Party Deployment Libraries
156(1)
Summary
157(2)
Chapter 9 Creating Private Chains
159(6)
Private and Permissioned Chains
159(1)
Setting Up a Local Private Chain
160(2)
Optional Flags to Use with New Chains
162(1)
Private Blockchains in Production Usage
162(1)
Summary
163(2)
Chapter 10 Use Cases
165(8)
Chains Everywhere
165(1)
The Internet of Ethereum Things
166(1)
Retail and E-Commerce
167(1)
Community and Government Financing
167(1)
Human and Organizational Behavior
168(1)
Financial and Insurance Applications
169(1)
Inventory and Accounting Systems
170(1)
Software Development
171(1)
Gaming, Gambling, and Investing
171(1)
Summary
172(1)
Chapter 11 Advanced Concepts
173(8)
Who Is Leading Software Developers Toward Decentralization?
173(1)
Vitalik's Best Technical Blog Posts
174(1)
The Ethereum Release Schedule
174(2)
Whisper (Messaging)
175(1)
Swarm (Content Addressing)
175(1)
What the Future Holds
176(1)
Other Interesting Innovations
177(1)
Full Ethereum Roadmap
177(1)
Frontier Release (2015)
177(1)
Homestead Release (2016)
178(1)
Metropolis (2017)
178(1)
Serenity (2018)
178(1)
Summary
178(3)
Index 181
Chris Dannen is a partner and founder at Iterative Instinct, a hybrid investment fund focused on cryptocurrency trading and seed-stage venture investments. He was formerly a corporate strategist for Fortune 500 companies. A self-taught programmer, he holds one patent; this is his fourth book. Chris is an avid traveler who has trekked across 20 countries, bicycled from Rome to Barcelona in 30 days, and summited Mount Fuji in under six hours. He was formerly a Senior Editor at Fast Company and today consults on technical content for major publishers. He graduated from the University of Virginia in three years and now resides in New York, NY.