Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Building With Ethereum

62,99 €

Sofort verfügbar, Lieferzeit: Sofort lieferbar

Format auswählen

Building With Ethereum, Apress
Products, Protocols, and Platforms
Von Jamie Rumbelow, im heise Shop in digitaler Fassung erhältlich

Produktinformationen "Building With Ethereum"

Build products on top of Ethereum's new and expansive technological stack.

Writing any good web application requires planning, care, and deft technical skills, but Ethereum's execution model presents its own challenges for engineers wishing to build applications on top of its smart contract layer. Building performant and engaging product experiences is one of the most important – and often underappreciated – roles in any company.

This book looks at the full product stack needed to build such experiences on top of Ethereum smart contracts, weaving tutorials and case studies through more conversational discussions of the various constraints, trade-offs, and complexities involved in doing so. You’ll learn about the fundamentals of Ethereum from a new perspective, developing a strong understanding of how the Ethereum Virtual Machine (EVM) works and how it affects product engineering, as well as all the pieces of technology that go into decentralized apps (dapps) behind the front end: RPC nodes, wallets, indexers, application hosts, and more. You’ll be exposed to plenty of UI, JavaScript code, and idiomatic ways to bring on-chain data into your front ends. And you’ll be given up-to-date knowledge of the best practices and future possibilities that decentralized computation might offer the product engineer.

WHAT YOU WILL LEARN

* Understand the EVM and how it works


* Gain insight into smart contracts and how apps connect to them


* Understand the difference between live data and indexed data


* How decentralization affects the UI of applications


* Build engaging, tasteful product experiences on top of Ethereum



WHO THIS BOOK IS FOR

A confident – mid-level or senior – software engineer or web developer who hasn’t properly branched out into Ethereum; someone who might have scratched the surface, but wants a deeper understanding of the principles behind dapps, and who wants a head start on the hurdles faced while building them.

JAMIE RUMBELOW is a software engineer and writer based in London, U.K. Until recently, he was a product engineer at Fei Labs, a major Ethereum protocol, where he built technologies and products at the intersection between the web2 and web3 stacks. He worked as a Founding Engineer and Senior Software Engineer in startups, responsible for training and mentoring as well as writing code. He has worked in the tech industry for over a decade, seeing organizations at varying levels of scale and the ways that teams and technologies get shaped by product decisions. He has also studied philosophy at the graduate level, which has given him the tools to think about computing in a deeper way. Over the past few years, he has built up a set of principles and opinions on what makes for great software and a great engineering culture.

CHAPTER 1. INTRODUCTION

We introduce the core concepts discussed in the book, and situate them with respect to the foundational principles of cryptocurrencies and web3. We discuss decentralisation. We describe the key design decisions of the EVM (Ethereum Virtual Machine) and how they raise some problems for product engineers. We describe the book ahead and what will be covered, chapter by chapter.

CHAPTER 2. THE LIFECYCLE OF AN ETHEREUM TRANSACTION

We discuss the lifecycle of a request on Ethereum, guiding the user through: how is a request initiated by a UI and confirmed by a user; sent to a node, validated, how can UIs display its status, when is a transaction confirmed. We ask: what is a smart contract? We frame smart contracts as APIs. We also set up the following three chapters with the tripartite structure of write, read, and side-effect.

CHAPTER 3. WALLETS

We discuss the role of wallets as both stores and signers. We discuss the popular MetaMask model for wallet injection, WalletConnect, EIP-1193, and other attempts to standardise the wallet interface. We explore wallets as identities, and describe approaches to 'logging in' with Ethereum. We explore different attack vectors that integrating wallets might raise.

CHAPTER 4. NODES AND INDEXES

We talk about nodes – the programmatic gateway to the blockchain – in more detail: how to connect to them and use them to retrieve information. We discuss the difference between live data and indexed data. We discuss how external RPC nodes allow external function calls with and friends. We discuss ABIs and contract interfaces.

CHAPTER 5. EVENTS

We investigate Ethereum's event model, and how to reconstruct a contract's state from the event log. We talk about Bloom filters and how to process many events efficiently.

CHAPTER 6. TRANSACTIONS

This chapter builds more on the first chapter, diving into detail about the implementation of transactions. We discuss interfaces for creating, signing, and viewing transactions. We frame transactions theoretically and practically. We discuss the RPC call and its interface. We break down the minutiae of cryptographic signing and nonces, and consider how it affects the UI of applications. We discuss transaction statuses and estimation.

CHAPTER 7. ERROR HANDLING

In this chapter, we discuss the various failure modes of smart contracts and how to build rich, useful user interfaces around them. We consider gas, nonces, and transaction synchronisation. We talk about ways of building error-resilience into your product with input validation. We talk about standardising error messages at the smart contract level.

CHAPTER 8. TOOLING

In this chapter, we investigate the sorts of tools available to the product engineer, drawing on problems faced in the previous chapters. We discuss running manual tests, declarative provisioning of infrastructure, and keeping private keys safe. We also discuss current lacunas and places where existing tooling could be improved.

CHAPTER 9. DATA-FIRST APPLICATIONS

We wrap-up the preceding discussion with a more opinionated chapter on a data-first approach to application design. In particular, I'll make the case for single-page applications backed by a data scraper as a strong model for building application infrastructure around smart contracts, tying together the themes of the preceding few chapters.

CHAPTER 10. CONCLUSION: SMART CONTRACTS, SMARTER PRODUCTS

We discuss the ways that the surface area of smart contracts rubs against the surface area of web applications, with an emphasis on the more commercial and conceptual. We explore how detaching state from interface allows for more decentralised and censorship-resistant protocols – and how product engineers can profit from this split. We talk about the many ways that thoughtful product engineering can improve the user experience of crypto, and ruminate on the future direction of the ecosystem.

Appendix 1: A Common-Sense Crypto-Native Checklist

We provide a summary of the main questions and action points found in the book, with an easy reference checklist for engineers to work through when building their crypto-native applications.

Appendix 2: Resources and Bibliography

We provide one or two pages of QR codes, with links to relevant resources. We provide a more comprehensive, traditional bibliography.

Artikel-Details

Anbieter:
Apress
Autor:
Jamie Rumbelow
Artikelnummer:
9781484290453
Veröffentlicht:
20.02.23

Barrierefreiheit

This PDF does not fully comply with PDF/UA standards, but does feature limited screen reader support, described non-text content (images, graphs), bookmarks for easy navigation and searchable, selecta

  • keine Vorlesefunktionen des Lesesystems deaktiviert (bis auf) (10)
  • navigierbares Inhaltsverzeichnis (11)
  • logische Lesereihenfolge eingehalten (13)
  • kurze Alternativtexte (z.B für Abbildungen) vorhanden (14)
  • Inhalt auch ohne Farbwahrnehmung verständlich dargestellt (25)
  • hoher Kontrast zwischen Text und Hintergrund (26)
  • Navigation über vor-/zurück-Elemente (29)
  • alle zum Verständnis notwendigen Inhalte über Screenreader zugänglich (52)
  • Kontakt zum Herausgeber für weitere Informationen zur Barrierefreiheit (99)