---
title: "Технічний вступ до децентралізованих застосунків (dapp)"
description:
lang: uk
---

Децентралізований застосунок (dapp) — це застосунок, створений у децентралізованій мережі, який поєднує [смарт-контракт](/developers/docs/smart-contracts/) та інтерфейс користувача (фронтенд). В [Етеріумі](/) смарт-контракти є доступними та прозорими (як відкриті API), тому ваш dapp може навіть містити смарт-контракт, написаний кимось іншим.

## Передумови {#prerequisites}

Перш ніж вивчати децентралізовані застосунки (dapp), вам слід ознайомитися з [основами блокчейну](/developers/docs/intro-to-ethereum/) та прочитати про мережу Етеріум і те, як вона децентралізована.

## Визначення dapp {#definition-of-a-dapp}

Бекенд-код dapp працює в децентралізованій одноранговій мережі. Порівняйте це зі звичайним застосунком, де бекенд-код працює на централізованих серверах.

Dapp може мати фронтенд-код та інтерфейси користувача, написані будь-якою мовою (як і звичайний застосунок), для здійснення викликів до свого бекенду. Крім того, його фронтенд може бути розміщений у децентралізованому сховищі, такому як [IPFS](https://ipfs.io/).

- **Децентралізований** — dapp працюють в Етеріумі, відкритій публічній децентралізованій платформі, яку не контролює жодна особа чи група
- **Детермінований** — dapp виконують ту саму функцію незалежно від середовища, у якому вони виконуються
- **Повний за Тюрінгом** — dapp можуть виконувати будь-яку дію за наявності необхідних ресурсів
- **Ізольований** — dapp виконуються у віртуальному середовищі, відомому як Віртуальна машина Етеріуму (EVM), тому, якщо смарт-контракт має помилку, це не завадить нормальному функціонуванню блокчейн-мережі

### Про смарт-контракти {#on-smart-contracts}

Щоб представити dapp, нам потрібно представити смарт-контракти — бекенд dapp, якщо можна так сказати. Для детального огляду перейдіть до нашого розділу про [смарт-контракти](/developers/docs/smart-contracts/).

Смарт-контракт — це код, який знаходиться в блокчейні Етеріуму і виконується точно так, як запрограмовано. Після того, як смарт-контракти розгорнуто в мережі, ви не можете їх змінити. Dapp можуть бути децентралізованими, оскільки вони керуються логікою, прописаною в контракті, а не окремою особою чи компанією. Це також означає, що вам потрібно дуже ретельно проектувати свої контракти та ретельно їх тестувати.

## Переваги розробки dapp {#benefits-of-dapp-development}

- **Нульовий час простою** — після того, як смарт-контракт розгорнуто в блокчейні, мережа в цілому завжди зможе обслуговувати клієнтів, які бажають взаємодіяти з контрактом. Тому зловмисники не можуть здійснювати атаки на відмову в обслуговуванні (DoS), спрямовані на окремі dapp.
- **Приватність** — вам не потрібно надавати реальні ідентифікаційні дані, щоб розгорнути dapp або взаємодіяти з ним.
- **Стійкість до цензури** — жодна організація в мережі не може заблокувати користувачам можливість надсилати транзакції, розгортати dapp або читати дані з блокчейну.
- **Повна цілісність даних** — дані, що зберігаються в блокчейні, є незмінними та незаперечними завдяки криптографічним примітивам. Зловмисники не можуть підробити транзакції або інші дані, які вже були оприлюднені.
- **Бездовірчі обчислення/поведінка, що піддається перевірці** — смарт-контракти можна проаналізувати, і вони гарантовано виконуватимуться передбачуваним чином без необхідності довіряти центральному органу. Це не так у традиційних моделях; наприклад, коли ми використовуємо системи онлайн-банкінгу, ми повинні довіряти фінансовим установам, що вони не будуть зловживати нашими фінансовими даними, підробляти записи або не будуть зламані.

## Недоліки розробки dapp {#drawbacks-of-dapp-development}

- **Обслуговування** — dapp може бути важче підтримувати, оскільки код і дані, опубліковані в блокчейні, важче змінити. Розробникам важко оновлювати свої dapp (або базові дані, що зберігаються в dapp) після їх розгортання, навіть якщо в старій версії виявлено помилки або ризики для безпеки.
- **Зниження продуктивності** — існує величезне зниження продуктивності, і масштабування є дійсно складним. Щоб досягти рівня безпеки, цілісності, прозорості та надійності, до якого прагне Етеріум, кожен вузол виконує та зберігає кожну транзакцію. Крім того, консенсус доказу частки (PoS) також потребує часу.
- **Перевантаження мережі** — коли один dapp використовує занадто багато обчислювальних ресурсів, уся мережа починає гальмувати. Наразі мережа може обробляти лише близько 10-15 транзакцій на секунду; якщо транзакції надсилаються швидше, пул непідтверджених транзакцій може швидко розростися.
- **Користувацький досвід** — може бути складніше розробити зручний для користувача інтерфейс, оскільки звичайному кінцевому користувачеві може бути занадто складно налаштувати стек інструментів, необхідний для дійсно безпечної взаємодії з блокчейном.
- **Централізація** — зручні для користувачів і розробників рішення, створені поверх базового рівня Етеріуму, у будь-якому разі можуть виглядати як централізовані сервіси. Наприклад, такі сервіси можуть зберігати ключі або іншу конфіденційну інформацію на стороні сервера, обслуговувати фронтенд за допомогою централізованого сервера або виконувати важливу бізнес-логіку на централізованому сервері перед записом у блокчейн. Централізація усуває багато (якщо не всі) переваг блокчейну над традиційною моделю.

## Краще сприймаєте візуально? {#visual-learner}

<VideoWatch slug="what-is-a-dapp" />

## Інструменти для створення децентралізованих застосунків (dapp)

**Scaffold-ETH 2 _— швидко експериментуйте з Solidity за допомогою фронтенду, який адаптується до вашого смарт-контракту._**

- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2)
- [Приклад dapp](https://punkwallet.io/)

**Create Eth App _— створюйте застосунки на базі Етеріуму за допомогою однієї команди._**

- [GitHub](https://github.com/paulrberg/create-eth-app)

**One Click Dapp _— інструмент із відкритим вихідним кодом (FOSS) для створення фронтендів dapp з [ABI](/glossary/#abi)._**

- [oneclickdapp.com](https://oneclickdapp.com)
- [GitHub](https://github.com/oneclickdapp/oneclickdapp-v1)

**Etherflow _— інструмент із відкритим вихідним кодом (FOSS) для розробників Етеріуму, що дозволяє тестувати свій вузол, а також створювати та налагоджувати RPC-виклики з браузера._**

- [etherflow.quiknode.io](https://etherflow.quiknode.io/)
- [GitHub](https://github.com/abunsen/etherflow)

**thirdweb _— SDK будь-якою мовою, смарт-контракти, інструменти та інфраструктура для розробки у Web3._**

- [Домашня сторінка](https://thirdweb.com/)
- [Документація](https://portal.thirdweb.com/)
- [GitHub](https://github.com/thirdweb-dev/)

**Crossmint _— платформа корпоративного рівня для розробки у Web3, що дозволяє розгортати смарт-контракти, підключати платежі кредитними картками та кросчейн-платежі, а також використовувати API для створення, розповсюдження, продажу, зберігання та редагування NFT._**

- [crossmint.com](https://www.crossmint.com)
- [Документація](https://docs.crossmint.com)
- [Discord](https://discord.com/invite/crossmint)
## Подальше читання {#further-reading}

- [Ознайомтеся з dapp](/apps)
- [Архітектура застосунку Веб 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) — _Пріті Касіредді (Preethi Kasireddy)_
- [Посібник із децентралізованих застосунків 2021 року](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) — _LimeChain_
- [Що таке децентралізовані застосунки?](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) — _Gemini_
- [Популярні dapp](https://www.alchemy.com/dapps) — _Alchemy_

_Знаєте ресурс спільноти, який вам допоміг? Відредагуйте цю сторінку та додайте його!_

## Пов'язані теми {#related-topics}

- [Вступ до стека Етеріуму](/developers/docs/ethereum-stack/)
- [Фреймворки для розробки](/developers/docs/frameworks/)

## Посібники: створення застосунків і фронтендів в Етеріумі {#tutorials}

- [Огляд контракту Юнісвоп v2](/developers/tutorials/uniswap-v2-annotated-code/) _— анотоване керівництво з основних контрактів Юнісвоп v2, що пояснює, як працює автоматизований маркетмейкер (АММ)._
- [Створення інтерфейсу користувача для вашого контракту](/developers/tutorials/creating-a-wagmi-ui-for-your-contract/) _— як створити сучасний фронтенд на React + Wagmi, який підключається до вашого смарт-контракту._
- [Смарт-контракт Hello World для початківців — Fullstack](/developers/tutorials/hello-world-smart-contract-fullstack/) _— наскрізний посібник: напишіть, розгорніть і створіть фронтенд для простого смарт-контракту._
- [Серверні компоненти та агенти для застосунків Web3](/developers/tutorials/server-components/) _— як писати серверні компоненти TypeScript, які прослуховують події блокчейну та відповідають транзакціями._
- [IPFS для децентралізованих інтерфейсів користувача](/developers/tutorials/ipfs-decentralized-ui/) _— як розмістити фронтенд вашого dapp в IPFS для стійкості до цензури._
