Technology is constantly evolving, and blockchain is taking development to new places, as mobile did a decade ago - and Ethereum is the leading platform for creating this new wave of applications. This book reveals everything you need to create a robust decentralized application (more commonly known as DApp). Unlike other books on the topic, this one focuses on the web application layer, and guides you in creating great experiences on top of the Ethereum blockchain. You'll review the challenges and differences involved in developing DApps as opposed to traditional web applications.
After a brief introduction to blockchain history and Ethereum in particular, you'll jump directly into building a sample decentralized application, to familiarize yourself with all the moving pieces. This book offers specific chapters on querying and rendering data from the blockchain, reacting to events, interacting with user accounts, sending transactions, managing gas, handling confirmations and reorganizations, and more. You will also find a chapter dedicated to Solidity that will give you the necessary means to understand and even build your own smart contracts.
Other important topics covered include building backend servers that act as indexing layers, and managing storage efficiently with solutions like the interplanetary file system, or IPFS. Last but not least, you will find chapters that examine the biggest problems on Ethereum today: onboarding and scalability. These include the state of the art of the available strategies to tackle them, such as meta-transactions, smart accounts, ENS, state channels, sidechains, and more.
What You'll Learn
Connect to the blockchain from the browser and send transactions from client-sideBuild a web app that provides a read-only interface to a blockchain contract
Create a wallet interface for arbitrary fungible tokens, displaying the user's balance and allowing for simple transfers to other addressesDevelop a web app that stores large blobs of data off-chain, and keeps a reference to it on-chain (e.g. avatars, long text descriptions) Produce a web app that relies on a centralized server for indexing on-chain information to be presented to the user
Who This Book Is For
Web developers focused on client-side applications, with knowledge of JavaScript and HTML/CSS. You do not need any prior knowledge of Blockchain, Ethereum, or cryptocurrency.
After a brief introduction to blockchain history and Ethereum in particular, you'll jump directly into building a sample decentralized application, to familiarize yourself with all the moving pieces. This book offers specific chapters on querying and rendering data from the blockchain, reacting to events, interacting with user accounts, sending transactions, managing gas, handling confirmations and reorganizations, and more. You will also find a chapter dedicated to Solidity that will give you the necessary means to understand and even build your own smart contracts.
Other important topics covered include building backend servers that act as indexing layers, and managing storage efficiently with solutions like the interplanetary file system, or IPFS. Last but not least, you will find chapters that examine the biggest problems on Ethereum today: onboarding and scalability. These include the state of the art of the available strategies to tackle them, such as meta-transactions, smart accounts, ENS, state channels, sidechains, and more.
What You'll Learn
Connect to the blockchain from the browser and send transactions from client-sideBuild a web app that provides a read-only interface to a blockchain contract
Create a wallet interface for arbitrary fungible tokens, displaying the user's balance and allowing for simple transfers to other addressesDevelop a web app that stores large blobs of data off-chain, and keeps a reference to it on-chain (e.g. avatars, long text descriptions) Produce a web app that relies on a centralized server for indexing on-chain information to be presented to the user
Who This Book Is For
Web developers focused on client-side applications, with knowledge of JavaScript and HTML/CSS. You do not need any prior knowledge of Blockchain, Ethereum, or cryptocurrency.