万本电子书0元读

万本电子书0元读

顶部广告

Learn Ethereum电子书

售       价:¥

2人正在读 | 0人评论 9.8

作       者:Xun (Brian) Wu

出  版  社:Packt Publishing

出版时间:2019-09-20

字       数:52.9万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Explore the blockchain-based decentralized platform and understand how Ethereum works with Dapps examples Key Features * Explore the Ethereum ecosystem and understand the latest research on the platform * Build decentralized apps (Dapps) using smart contracts and Ethereum with the help of practical examples * Learn to make your decentralized applications fast and highly secure Book Description Ethereum is a blockchain-based, decentralized computing platform that allows running smart contracts. This book provides a basic overview of how Ethereum works, its ecosystem, mining process, and the consensus mechanism. It also demonstrates a step-by-step approach for building decentralized applications. This book begins with the very basics of Blockchain technology. Then it dives deep into the Ethereum architecture, framework and tools in its ecosystem. It also provides you an overview of ongoing research on Ethereum, for example, Layer 1 and 2 scaling solution, Stablecoin, ICO/STO/IEO, etc. Next, it explains Solidity language in detail, and provides step-by-step instructions for designing, developing, testing, deploying, and monitoring decentralized applications. In addition, you’ll learn how to use Truffle, Remix, Infura, Metamask, and many other Ethereum technologies. It’ll also help you develop your own cryptocurrency by creating ERC20, and ERC721 smart contracts from scratch. Finally, we explain private blockchains, and you learn how to interact with smart contracts through wallets. What you will learn * Understand the concepts of blockchain and cryptocurrency * Master Ethereum development tools such as Truffle, Remix IDE and Infura * Delve into smart contract development * Develop DApps frontend using Node.js, React.js, and Web3js API * Learn Etherscan and other tools to secure and monitor smart contracts * Develop and debug smart contracts by working with Remix * Apply Truffle suite to compile, migrate, and unit test smart contracts * Explore smart contracts such as ERC20 token and decentralized digital market Who this book is for This book is for all developers and architects who want to explore Ethereum blockchain fundamentals and get started with building real-world decentralized applications. Knowledge of an object-oriented programming language such as JavaScript will be useful but not mandatory.
目录展开

About Packt

Why subscribe?

Contributors

About the authors

About the reviewers

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Section 1: Blockchain and Ethereum Basics

Blockchain and Cryptocurrency

Technical Requirements

Introducing blockchain technology

Decentralized P2P network

How does blockchain work?

Rehashing cryptography

Public key cryptography

Cryptographic hash function

Digital signature

Anatomizing a blockchain consensus mechanism

What is consensus?

Proof-of-work

How PoW works

Targets and difficulty

Incentives and rewards

Double-spend issues

Advantages and disadvantages

Proof-of-stake

Forking

Hard fork

Soft fork

Understanding Bitcoin and cryptocurrency

Bitcoin basics

What is a wallet?

Transactions, UTXO, and account balances

Genesis block and coin supply

How does Bitcoin payment work?

Bitcoin transaction and block structure

Transaction validation and block verification

Limitations in Bitcoin

Altcoins

Ushering in the world of Ethereum

Smart contract

Ethereum Virtual Machine

Account

Summary

Ethereum Architecture and Ecosystem

Technical Requirements

Introducing Ethereum architecture

Ethereum – the world computer

The world of decentralization

Diving deep into Ethereum

Account

Two types of accounts

Externally owned account

Contract account

Transactions and messages

Smart contract

Ether and gas

The Ethereum Virtual Machine

Address and wallet

Addresses in Ethereum

Ethereum wallet

Wallet tools

Understanding mining in Ethereum

Mining and consensus protocol

Ethereum transaction and block structure

Transaction validation and block verification

Shift to proof-of-stake

Working with tools and technologies in Ethereum ecosystem

Ethereum client

The Web3 Server API

DApp development tools

Summary

Deep Research on Ethereum

Technical Requirements

Understanding challenges in distributed systems

The CAP theorem

Horizontal scaling versus vertical scaling

Scaling Ethereum

Blockchain scalability trilemma

Ethereum scaling solutions

Block size

Altcoins

On-chain solutions

Off-chain solutions

ZK-SNARK

State channel with Raiden

Ethereum side chain with Plasma

Ethereum sharding and Casper

PoS consensus in Ethereum

Following up on EVM and lower-level protocol improvements

Implementing Ethereum 2.0 roadmap

Introducing cryptoassets and Ethereum token standards

Initial coin offerings

STO and IEO

Ethereum token standards

Fungible and non-fungible tokens

ERC-20

ERC-721

Stablecoin

Dai stablecoin

Making sense of cryptoeconomics

Working with decentralized data and content storage

Swarm

IPFS

BigchainDB

Decentralized messaging with Whisper

Summary

Section 2: Blockchain Development Cycle

Solidity Fundamentals

Technical Requirements

Introducing Solidity

Tools for the Solidity development environment

Browser-based IDEs

Standalone IDE with Solidity plugins

Command-line development management tools

Learning the fundamental programming structure in Solidity

The layout of a Solidity source file

Pragma

Comments

Import

Structure of a contract

State variables

Built-in data types

User-defined data type

Functions

Input parameters

Output parameters

Access modifiers

The pure, view, and payable functions

Constructor and destructor functions

Fallback function

Function overloading

Function modifiers

Events

Global variables, contextual variables, and functions

Understanding inheritance, abstract contracts, and interfaces

Interface

Abstract contract

Inheritance

Multiple inheritance and the diamond problem

Function overriding

Examining smart contract execution under the hood

Mastering advanced programming concepts in Solidity

Smart contract security

Keep contracts simple and modular

Use the checks-effects-interactions pattern

DoS with block gas limit

Handle errors in external calls

Best practices in smart contracts

Access restriction

State machine

Writing upgradable smart contracts

Contract proxy and delegate

Eternal storage

Economic consideration of smart contract execution

Putting it all together – rental property leasing

Summary

Developing Your Own Cryptocurrency

Technical Requirements

Understanding token standards

Setting up an Ethereum development environment

Working with Truffle

Creating an ERC-20 token

Creating basic token information

Defining and implementing the ERC-20 interface

Assigning an admin role

Working with the whitelist function

Locking and unlocking an account

The mint and burn tokens

Creating ERC 721 token – the DigitalArt token

Designing the decentralized digital art marketplace

Setting up the DigitalArtERC721Token project

Creating the basic token information

Defining and implementing the ERC-721 standard

Defining the art and art transaction struct

Creating a non-fungible digital art token

Implementing the buyArt() function

Implementing the resellArt() function

Implementing the findArt() function

Implementing the findMyArts() function

Implementing the findAllPendingArt() function

Getting all art transactions through getArtAllTxn()

Summary

Section 3: Ethereum Implementations

Smart Contract Development and Test Fundamentals

Technical Requirements

Understanding Remix development fundamentals

Working with the Solidity compiler

Analysis

Testing

Deploying and running transactions

Debugging

Understanding development using Truffle and unit testing

The Truffle console and development features

Running a Truffle migration

Truffle unit testing

Truffle Box

Security testing

Static and dynamic analysis

MythX

Securify

Working with a linter

Working with solhint

Summary

Writing UI for the DApps

Technical requirements

Knowing about DApps

Working with Web3 JavaScript API

Setting up a DApp development environment

Installing Ganache desktop

Creating a development workspace

Setting up the project for our DApp

Deploying a smart contract

Installing MetaMask and connecting to Ganache

Setting MetaMask Ganache accounts

Building frontend UI components

Setting up project dependencies

Getting the instance of a deployed contract

Building a navigation bar

The ART GALLERY page

The PUBLISH YOUR ARTS page

The MY WALLET INFO page

Running the decentralized digital art market DApp

Publishing your art (the first account)

My wallet info (the first account)

Publishing your art (the second account)

My wallet info (the second account)

Buying art (the second account)

Reselling art

Summary

Ethereum Tools and Frameworks

Technical requirements

Understanding the Ethereum development tools and frameworks

Working with Infura

Working with the Infura Ethereum API

Using Remix with Infura

The Ethereum client API

Working with Web3j

Ethereum storage

Knowing the IPFS protocol

Installing IPFS

Starting an IPFS node

Running an IPFS example

Publishing a simple page in the command line

Publishing and querying IPFS via Infura

Working with Swarm

Installing Swarm

Installing Geth

Running an example of Swarm

Ethereum messages – Whisper

Whisper protocol

Whisper envelopes

Whisper message

Whisper example

Popular smart contract libraries

Working with OpenZeppelin

Setting up a dev environment

Access control

Math

Token

Utils

Summary

Section 4: Production and Deployment

Creating an Ethereum Private Chain

Technical requirements

Understanding a private and permissioned blockchain

Setting up a local private Ethereum blockchain

Private blockchains without mining

Setting up the environment

Configuring the custom genesis file

Running Geth

Private blockchains with mining

Setting up an environment

Configuring the custom genesis file

Running Geth

Creating a new account

Mining on a local private network

Using optional flags with new chains

Commands

Ethereum options

Developer chain options

API and console options

Networking options

Transaction pool options

Introducing the popular private blockchains in the industry

Hyperledger

Hyperledger Fabric

Hyperledger Sawtooth

Corda

Quorum

Private blockchains use cases

Financial services

Payments

Audit and assurance

Healthcare

Medical records

Medical costs

Drugs

Food supply chain

Summary

Deployment of Your Smart Contract

Technical requirements

Deploying smart contracts with testnet

Deploying a smart contract to the Goerli testnet with MyCrypto

Creating a MetaMask account

Getting test ether

Deploying the smart contract

Viewing deployed smart contracts on Etherscan

Interacting with the deployed smart contract

Deploying a smart contract to the Ropsten testnet with MyEtherWallet

Accessing or creating a new wallet on MyEtherWallet

Getting test ether

Deploying the smart contract

Monitoring smart contracts

Ethereum developer APIs

Further reading on uncle nodes

Summary

Building Ethereum Wallets

Technical requirements

Understanding the wallet technology

Understanding non-deterministic and deterministic wallets

Mnemonic code words (BIP-39)

Stretching mnemonic code words to the seed of the deterministic wallet

HD wallets (BIP-32)

Deriving a tree of keypairs

Deriving wallet structure

HD wallet path

Multipurpose HD wallets (BIP-43)

Multi-currency and multi-account wallets (BIP-44)

Generating a private key in Ethereum

Creating an Ethereum wallet

Creating a non-deterministic wallet

Viewing the Keystore file generated by the geth command

Creating a non-deterministic wallet with MyCrypto

Creating a non-deterministic wallet with MyEtherWallet

Creating an HD wallet

Working with third-party Ethereum wallets

Wallets on different platforms

Multi-signature wallets

Smart contract wallets

Hot and cold wallets

Transferring funds between wallets

Summary

Section 5: Conclusion

Conclusion

Technical requirements

Facing the challenges of Ethereum and blockchain

Consensus protocol and scalability

UI/UX, usability, and design thinking

Ethereum governance

Government regulations

Mainstream adoption

A few more words about privacy

Glancing over the Ethereum ecosystem

Tools and infrastructure

Decentralized applications

AML and KYC

Emerging technology fusion – blockchain, AI/ML, and IoT

Internet of blockchains

Blockchain meets AI and ML

Smart things on a decentralized network

Meeting the future of Ethereum

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部