ebook img

Mastering Ethereum: Building Smart Contracts and Dapps PDF

777 Pages·2018·6.68 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Mastering Ethereum: Building Smart Contracts and Dapps

Praise for Mastering Ethereum “Mastering Ethereum is a fantastically thorough guide, from basics to state- of-the-art practices in smart contract programming, by two of the most eloquent blockchain educators.” Manuel Araoz, CTO, Zeppelin Mastering Bitcoin is the canonical reference that made Bitcoin and blockchain technology accessible to a broad audience, and Mastering Ethereum does the same for the Ethereum world computer. Lane Rettig, Ethereum core developer “Mastering Ethereum is the absolute best book to read if you’re ready to build your own DApp! Andreas and Gavin have put together a comprehensive guide for anyone interested in the decentralized web and how to build decentralized applications.” Taylor Gerring, Executive Director, Blockchain Institute “I had the privilege of having access to Andreas’ and Gav’s book Mastering Ethereum, and I have to say I’m amazed at its breadth, scope, and accessibility. It has it all: a deep history of Ethereum, explanations of elliptical curve mathematics, solidity tutorials, and legal debates on utility tokens and ICOs. It’s deep enough that it can be used as a whole syllabus of reference material, yet it’s accessible enough that anyone who is merely math-curious can understand. After reading a few chapters on the topic, I feel I have a much more solid understanding of many of the underlying cryptographic primitives. If you’re a researcher, a developer, a manager, a lawyer, a student, or anyone curious about where the future of tech is going, I highly recommend having Mastering Ethereum on your shelf.” Alex Van de Sande, designer, Ethereum Foundation “Mastering Ethereum will become a must-read in the future, as Ethereum is going to be as ubiquitous as TCP/IP. It will become a necessary layer under which decentralized, trustless technologies live and thrive.” Hudson Jameson, Community Organizer, Ethereum Foundation “Mastering Ethereum is the perfect book for anyone who wants to learn more about Ethereum, whether you’re looking to test the waters or dive straight into the deep end. Between Gavin Wood’s technical knowledge of Ethereum’s inner workings and Andreas Antonopoulos’ ability to make complex subjects approachable, you get the best of both worlds with this book. I only wish it had been around when I first started diving into Ethereum.” Taylor Monahan, Founder and CEO of MyCrypto Mastering Ethereum Building Smart Contracts and DApps Andreas M. Antonopoulos and Dr. Gavin Wood Mastering Ethereum by Andreas M. Antonopoulos and Dr. Gavin Wood Copyright © 2019 The Ethereum Book LLC, Gavin Wood. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com/safari). For more information, contact our corporate/institutional sales department: 800- 998-9938 or [email protected]. Acquisitions Editor: Rachel Roumeliotis Developmental Editor: Michele Cronin Production Editors: Nicholas Adams and Kristen Brown Copyeditor: Rachel Head Proofreader: Kim Cofer Indexer: WordCo Indexing Services, Inc. Interior Designer: David Futato Cover Designer: Karen Montgomery Illustrator: Rebecca Demarest December 2018: First Edition Revision History for the First Edition 2018-11-13: First Release See http://oreilly.com/catalog/errata.csp?isbn=9781491971949 for release details. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. Mastering Ethereum, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. The views expressed in this work are those of the authors, and do not represent the publisher’s views. While the publisher and the authors have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the authors disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights. Mastering Ethereum is available under the Creative Commons Attribution- Noncommercial-No Derivative Works 4.0 International License (CC BY-NC- ND 4.0). The author maintains an online version at https://github.com/ethereumbook/ethereumbook. 978-1-49197194-9 [LSI] Preface This book is a collaboration between Andreas M. Antonopoulos and Dr. Gavin Wood. A series of fortunate coincidences brought these two authors together in an effort that galvanized hundreds of contributors to produce this book, in the best spirit of open source and the creative commons culture. Gavin had been wishing to write a book that expanded on the Yellow Paper (his technical description of the Ethereum protocol) for some time, primarily to open it up to a wider audience than the original Greek-letter-infused document could possibly allow. Plans were underway — a publisher had been found — when Gavin got talking to Andreas, whom he had known from the very beginning of his tenure with Ethereum as a notable personality in the space. Andreas had recently published the first edition of his book Mastering Bitcoin (O’Reilly), which quickly became the authoritative technical guide to Bitcoin and cryptocurrencies. Almost as soon as the book was published, his readers started asking him, “When will you write Mastering Ethereum?” Andreas was already considering his next project and found Ethereum to be a compelling technical subject. Finally, in May 2016, Gavin and Andreas were both coincidentally in the same city at the same time. They met up for a coffee to chat about working on the book together. With both Andreas and Gavin being devotees of the open source paradigm, they both committed to making this a collaborative effort, released under a Creative Commons license. Thankfully, the publisher, O’Reilly Media, was happy to agree, and the Mastering Ethereum project was officially launched. How to Use This Book The book is intended to serve both as a reference manual and as a cover-to-cover exploration of Ethereum. The first two chapters offer a gentle introduction, suitable for novice users, and the examples in those chapters can be completed by anyone with a bit of technical skill. Those two chapters will give you a good grasp of the basics and allow you to use the fundamental tools of Ethereum. Chapter 3 and beyond are intended mainly for programmers and include many technical topics and programming examples. To serve as both a reference manual and a cover-to-cover narrative about Ethereum, the book inevitably contains some duplication. Some topics, such as gas, have to be introduced early enough for the rest of the topics to make sense, but are also examined in depth in their own sections. Finally, the book’s index allows readers to find very specific topics and the relevant sections with ease, by keyword. Intended Audience This book is mostly intended for coders. If you can use a programming language, this book will teach you how smart contract blockchains work, how to use them, and how to develop smart contracts and decentralized applications with them. The first few chapters are also suitable as an in-depth introduction to Ethereum for noncoders. Conventions Used in This Book The following typographical conventions are used in this book: Italic Indicates new terms, URLs, email addresses, filenames, and file extensions. Constant width Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords. Constant width bold Shows commands or other text that should be typed literally by the user. Constant width italic Shows text that should be replaced with user-supplied values or values determined by context. TIP This icon signifies a tip or suggestion. NOTE This icon signifies a general note. WARNING This icon indicates a warning or caution.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.