Когда-нибудь задумывались, какие шаги нужно предпринять, чтобы создать dApp? Мы всё разложили по полочкам! Предупреждаем: это длинное чтение. Возьмите чашку чего-нибудь горячего и узнайте, что нужно для начала.

Немного странно публиковать статью о том, как создать dapp на Ethereum (или любом другом блокчейне) во время крипто-зимы, но я просто не могу удержаться. Многие из вас — мечтатели, как и мы: хотите, чтобы что-то произошло, чтобы жизнь других людей улучшилась, и, конечно, большие деньги в качестве награды за все усилия. Подходящее ли сейчас время, чтобы начать? Конечно, да.
Вот небольшой обучающий материал по dapp, на случай, если вы всё ещё не уверены, что это такое.
Frontend dapp основан на HTML или JavaScript веб-приложении, которое взаимодействует с блокчейном, например Ethereum. Само веб-приложение работает на InterPlanetary File System — одноранговой сети, которая делает всё это децентрализованным и распределённым.
Backend основан на смарт-контрактах, подключённых, опять же, к выбранному блокчейну. Такое подключение осуществляется через различные плагины, например MetaMask (который, кстати, поддерживается в Directual).
Напомним: смарт-контракты — это адреса, не контролируемые приватным ключом, у них есть код, который определяет, что происходит с входящими транзакциями. Смарт-контракты выполняются тысячами узлов по всему миру, так что это не просто запись в тихом дата-центре где-то в стороне.

Если уж на то пошло, dapp — это круто, и рынок ещё далеко не освоен. Вспомните Bitcoin в своё время — тогда казалось, что ничего особенного, а теперь все от него в восторге, хотя у рынка бывали времена и получше. Чем раньше вы начнёте, тем лучше.
У обычных приложений и dapp есть одна общая черта: обмен данными. Шутка! Не совсем так.
Dapp используют блокчейны для обмена данными, а не центральные серверы. Всё зависит от участников блокчейна, отсюда и децентрализация. Никаких посредников.
Обычные приложения и dapp визуально выглядят одинаково, и распознать dapp можно по наличию крипто-токенов, которые можно использовать. Конечно, есть множество приложений, находящихся где-то посередине, но это общая идея. Реальные различия скрыты «под капотом».
Преимуществ много. Вот лишь некоторые из них:
В рамках процесса «ешь свои овощи» вполне естественно, что ничто не идеально, включая наши любимые dapp:
Теперь перейдём к деталям dapp и разберёмся, какими они бывают. Есть три основные категории dapp:
У такой dapp есть собственный блокчейн. Как Bitcoin, Litecoin, Ethereum, Dash и многие другие. Это означает, что эти приложения не зависят от какого-либо другого блокчейна для работы, поскольку практически весь продукт работает сам по себе.
Эти dapp зависят от выбранного блокчейна в плане своей функциональности. У них может быть собственный токен, подключённый к основному блокчейну. Такие токены могут быть настроены для использования именно с этой dapp. У нас есть похожая вещь — наши D-coins размещены в Ethereum и могут использоваться для оплаты функций и ресурсов платформы.

Примечание: мы построили наш биллинг и включили обмен d-coin с помощью самой no-code функциональности Directual!
Последняя ступень, dapp Типа III используют другие dapp Типа II для работы. Это может включать любую функциональность, которую предлагают dapp Типа II, без необходимости создавать эту функциональность самостоятельно.
Очевидный подход к созданию блокчейн-dapp — это что-то, связанное с финансами. Однако это далеко не всё, чего может достичь dapp.
Вот преимущества децентрализации! Не нужно бояться властолюбивого модератора, который захочет закрыть всё, что сочтёт недостойным. Сообщество само решает, что остаётся, а что уходит.
Блогеры также получают возможность генерировать больше дохода на платформах-dapp, поскольку нет традиционной иерархии владельцев платформы, забирающих львиную долю прибыли. Какую бы рекламу вы ни запустили, вся прибыль от неё также достаётся вам. Социальные NFT-dapp тоже набирают популярность.
Одно из самых интересных и быстро развивающихся направлений. CryptoKitties — отличный пример успешной игровой dapp web3.
Играете, получаете токенизированный актив, который затем растёт в цене, и продаёте его заинтересованному покупателю с прибылью. Такая игра решает сразу множество разных проблем: пользовательскую базу легко создать (что помогает работе сети), на монеты есть активный спрос, и это всё ещё и весело!
С игровыми dapp можно реализовать практически что угодно, и их перспективы определённо стоит изучить, если вы работаете в игровой индустрии, особенно в мобильных играх (которые уже превзошли все остальные игровые направления вместе взятые).
Голосование больше не скучное и не сомнительное! Со смарт-контрактами сообщество может надёжно голосовать по списку предложений в установленный срок и подтверждать свои голоса токенами. И всё это полностью анонимно!
Самое приятное — это по-настоящему демократично. Никто не сможет подделать ваши «бюллетени», вас могут вознаградить за участие, и это действительно имеет значение.
Вы используете Adblock? Я использую. Практически все используют, если только не гуглят что-то стыдное в режиме инкогнито. Реклама навязчива, повторяется и лишена вдохновения, и мы уже практически перестали её замечать.
Чего не хватает, так это вознаграждения пользователю за время, потраченное на просмотр всей этой рекламы, и лучшей системы для рекламодателей и платформ, размещающих рекламу. Пользователи могут зарабатывать токены, просто прокручивая сайт с рекламой. Рекламодатели могут устанавливать линейные выплаты сайтам с размещённой рекламой в зависимости от времени, проведённого пользователем на просмотре. Всё это уже реализовано, и всё это можно отслеживать без ущерба для приватности.
Сбор средств максимально прост: пользователи могут отправить взносы блогерам в несколько кликов, без каких-либо скрытых условий.
Этот раздел будет слишком большим, если углубляться в детали. Всего несколько пунктов: никаких посредников, которым нужно платить за кредиторов, полный контроль над кредитами, больше контроля над процентными ставками, мгновенные транзакции, не нужно подтверждать транзакции у юристов или комплаенс-специалистов — можно перечислять бесконечно.
Кроме того, всё полностью безопасно, и крипто-активы находят всё больше доступных путей в реальный мир. Децентрализованная валюта — это будущее, потому что, как вы знаете, реальные валюты практически всех стран ничем не обеспечены. Это всё условность. По крайней мере, крипто зарабатывается трудом и имеет под собой какую-то основу.
Вы наконец добрались до самой интересной части этой чрезмерно длинной статьи! Я избавлю вас от лишних хлопот и объясню только важные моменты: остальному вы научитесь в процессе. Только одна вещь, прежде чем продолжить:
Просто. Начните. Не впадайте в паралич анализа. Пробуйте разные вещи и смотрите, как они работают. Делайте это сразу же, маленькими шагами.
А теперь — как это сделать:
Всё не так сложно, если только вы сами не захотите усложнить. Стек может сильно отличаться в зависимости от вашей идеи (выбор большой, см. выше). Вам понадобятся:
Что касается веб-frontend — подойдёт что угодно. Вы можете начать с Directual, а затем расширяться на другие платформы или создать всё сами с помощью React.js, Node.js и Web3.js. Что касается мобильных приложений, Swift и React Native — ваши лучшие варианты (если только вы не увлекаетесь кроссплатформенной разработкой — это тоже довольно круто и просто!).
Помните о том, что вы прочитали выше. Вы выбираете блокчейн и с его помощью используете смарт-контракт, который выполняется автоматически при определённых условиях.
Вам также, вероятно, придётся изучить децентрализованные функции вашей dapp, такие как аналитика и API.
Независимо от того, что должен делать ваш смарт-контракт (а это может быть множество вещей — транзакции, алгоритмы или что-то ещё), вам нужно выбрать блокчейн. Ethereum — самый популярный выбор. У многих людей уже есть кошельки в Ethereum, но это не помешает вам создать крипто-кошелёк, и пользователям не обязательно знать, на каком блокчейне он находится.
Если вашему приложению потребуется много хранилища, синхронизированная отчётность или другая дополнительная функциональность, вам следует спланировать это заранее и включить в объём проекта. Для этого понадобится веб-решение, размещённое на сервере. Да, не все части dapp обязательно должны быть децентрализованы.
Будет полезно иметь админ-панель, способную предоставлять дополнительные функции, контроль над платформой и другие вещи, не включённые в базовые dapp.
Всё ещё непонятно? Ничего страшного. Начните с малого — для этого можно попробовать пройти по сценарию, который у нас есть в Directual, о том, как можно создать и использовать простой кошелёк.

Пример сценария ETH-кошелька в Directual
Стройте функциональность постепенно, но сначала сосредоточьтесь на основном. Не поддавайтесь искушению добавить всё, что придумали, прежде чем дать клиентам возможность попробовать вашу dapp.
Вам понадобится приличный конструктор frontend, чтобы начать, Directual будет хорошим выбором. Не нужно перегибать палку с прототипом, достаточно, чтобы он работал. Улучшить его всегда можно позже.
Однако планируйте заранее, как именно вы хотите визуально представить это. Нет ничего постыдного в том, чтобы черпать вдохновение из других похожих dapp.
Также стоит учесть, что выполнение функций смарт-контракта может занять некоторое время, и классная анимация, показывающая, что операция выполняется, будет очень кстати.
Помните, что отличный онбординг предполагает, что пользователи могут осмотреться в приложении, прежде чем подключать свои кошельки или создавать аккаунты.
Это рутина, которую нельзя откладывать в долгий ящик. Каждая новая сборка вашей dapp должна тщательно тестироваться. Тестирование frontend — дело простое и стандартное, однако тестирование транзакций и смарт-контрактов сложнее. Вам понадобится тестовая сеть, чтобы попробовать, как всё работает, перед деплоем.
С API-запросами и тестированием базы данных в Directual это сделать довольно легко — можно использовать отдельную тестовую кнопку, чтобы посмотреть, как всё работает, и получить ли вы правильный ответ.
Самая приятная и (иногда) самая горькая часть. Запустите свою dapp в продакшн и начните получать обратную связь от пользователей. Сосредоточьтесь на полученных отзывах, продолжайте улучшать свою dapp на их основе и продолжайте учиться. Я знаю, что всё это довольно базовые вещи, но по крайней мере теперь вы знаете, чего не знаете. Это уже половина успеха!
В конце концов, знание — это всего лишь знание. Оно ничего не стоит, если не закалить его опытом. Если вы хотите протестировать идею web3.0 приложения, сделайте быстрый и грубый MVP — ровно настолько, чтобы показать, как должен работать ваш продукт. Спросите мнение любого, кого знаете, и посмотрите, какую обратную связь получите.
Самое важное — не сдавайтесь. Продолжайте пробовать, улучшать и учиться.
Если у вас есть к нам вопросы или вы хотите узнать больше о возможностях Directual в области web3, напишите нам на hello@directual.com.
На этом всё, спасибо за прочтение!
* Facebook и Instagram принадлежат Meta Platforms Inc., признанной экстремистской организацией; её деятельность запрещена на территории Российской Федерации.