-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Simple landing page for dApps section (#221)
* Simple landing page for dApps section * Add to TOC * rock-simple diagram * Use indexers as middlewre
- Loading branch information
1 parent
58bb260
commit 4d9ee45
Showing
3 changed files
with
56 additions
and
16 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
--- | ||
title: Decentralized applications (dApps) | ||
authors: Benjamin Pilia, Tim McMackin | ||
last_update: | ||
date: 12 January 2024 | ||
--- | ||
|
||
import LucidDiagram from '@site/src/components/LucidDiagram'; | ||
|
||
One of the main features of blockchains is _decentralization_: each transaction is verified by multiple nodes and its validation process does not rely on a single trusted third party. | ||
Decentralized applications (dApps or Dapps) take advantage of these features to create applications that are independent, transparent, and trustless. | ||
|
||
In general, dApps have these parts: | ||
|
||
- **Frontend**: An off-chain component that can act as a user interface to simplify interaction with the on-chain component, run off-chain processing, and get information from sources that are not available to the on-chain component | ||
- **Middleware**: Optionally, an [indexer](./developing/information/indexers) to interpret the backend information and provide it in a more convenient format for the front-end component | ||
- **Backend**: An on-chain component that consists of one or more [smart contracts](./smart-contracts) | ||
|
||
The off-chain component can be nearly any kind of program, including a web application, mobile or desktop app, or command-line interface. | ||
It relies on wallets and tools to interact with the smart contract on behalf of a user's Tezos account. | ||
|
||
<LucidDiagram width="640px" height="480px" src="https://lucid.app/documents/embedded/8caf9ef1-11e4-454a-bbb6-ef4852515959" id=".4NXymECcQqz" /> | ||
|
||
Some of these tools that allow an off-chain component to interact with smart contracts include: | ||
|
||
- [Taquito](./dApps/taquito), an SDK for JavaScript/TypeScript applications | ||
- The [Tezos SDK for Unity](./unity), a toolkit for Unity applications | ||
- [Taqueria](https://taqueria.io/), a development platform for dApps | ||
|
||
## Sample dApps | ||
|
||
For example dApps, see [Sample dApps](./dApps/samples). | ||
|
||
## Best practices | ||
|
||
Good programming and design practices make dApps easier to use and provide a better user experience. | ||
See [Best practices and avoiding flaws](./dApps/best-practices). | ||
|
||
## dApp tasks | ||
|
||
For information on typical tasks that dApps do, see: | ||
|
||
- [Connecting to wallets](./dApps/wallets) | ||
- [Sending transactions](./dApps/sending-transactions) | ||
|
||
## Tutorials | ||
|
||
These tutorials cover dApps of different complexities: | ||
|
||
- For a simple dApp, see [Build your first app on Tezos](./tutorials/build-your-first-app) | ||
- For a dApp that mints NFTs, see [Mint NFTs from a web app](./tutorials/create-an-nft/nft-web-app) | ||
- For a large dApp that allows users to buy and sell NFTs, see [Build an NFT marketplace](./tutorials/build-an-nft-marketplace) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters