Building with Ethereum: products, protocols, and platforms

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Rumbelow, Jamie (VerfasserIn)
Format: Buch
Sprache:English
Veröffentlicht: New York Apress [2023]
Schlagworte:
Zusammenfassung: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 EthereumWho This Book Is ForA 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
Beschreibung:Chapter 1. IntroductionWe 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 transactionWe 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. WalletsWe 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 IndexesWe 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. EventsWe 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. TransactionsThis 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 HandlingIn 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. ToolingIn 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 ApplicationsWe 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 productsWe 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 ChecklistWe 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 BibliographyWe provide one or two pages of QR codes, with links to relevant resources. We provide a more comprehensive, traditional bibliography.
Beschreibung:xvi, 261 Seiten Illustrationen 537 grams
ISBN:9781484290446

Es ist kein Print-Exemplar vorhanden.

Fernleihe Bestellen Achtung: Nicht im THWS-Bestand!