Skip to content

Commit

Permalink
Simple landing page for dApps section (#221)
Browse files Browse the repository at this point in the history
* Simple landing page for dApps section

* Add to TOC

* rock-simple diagram

* Use indexers as middlewre
  • Loading branch information
timothymcmackin authored Jan 12, 2024
1 parent 58bb260 commit 4d9ee45
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 16 deletions.
12 changes: 0 additions & 12 deletions docs/dApps.md

This file was deleted.

52 changes: 52 additions & 0 deletions docs/dApps.mdx
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)
8 changes: 4 additions & 4 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,10 @@ const sidebars = {
{
type: 'category',
label: 'Decentralized applications (dApps)',
// link: { // TODO
// id: 'dApps',
// type: 'doc',
// },
link: {
id: 'dApps',
type: 'doc',
},
items: [
// 'dApps/first-dapp', // TODO
'dApps/samples',
Expand Down

0 comments on commit 4d9ee45

Please sign in to comment.