Как создать децентрализованное приложение
Перейти к содержимому

Как создать децентрализованное приложение

  • автор:

Как создать dApp за три шага

Децентрализованные приложения или dApps, — это приложения, которые не полагаются на централизованный сервер или бэкэнд, а используют технологии Web3, такие как блокчейн и оракулы для хранения своей логики и функций бэкэнда, что делает их защищенными от взлома и безопасными.

В этом техническом руководстве вы узнаете, как создать простой сквозной dApp, который позволяет пользователю получать и хранить текущую цену Ethereum в смарт-контракте. Готовую демонстрационную версию можно найти на GitHub.

Требования

Пожалуйста, убедитесь, что у вас установлено следующее:

Что такое децентрализованное приложение?

В dApp код бэкенда работает на блокчейне, в отличие от традиционного приложения, где код бэкенда работает на централизованных серверах. dApp может иметь внешний код и пользовательские интерфейсы, написанные на любом языке и развернутые на любом сервере или серверах для взаимодействия с внутренней логикой.

Благодаря тому, что логика бэкенда размещается в высокозащищенных, защищенных от взлома смарт-контрактах, dApp имеют множество преимуществ, недоступных для традиционных систем Web2:

нулевое время простоя

устойчивость к цензуре

выполнение логики с минимальным уровнем доверия

Однако эти преимущества имеют и некоторые недостатки. Обслуживание dApps требует больших усилий, поскольку код, развернутый на блокчейне, по умолчанию не подлежит изменению. Кроме того, из-за того, что логика выполняется в распределенной сети, а не на централизованном сервере, повышаются и эксплуатационные расходы. В дополнение к этому, пользовательский опыт может пострадать из-за того, что пользователю dApp необходимо пройти через сложности, связанные с созданием кошелька Web3 и пополнением его достаточным количеством криптовалюты для оплаты комиссий за транзакции.

Компоненты dApp

Компоненты dApp можно разделить на три различные категории: смарт-контракты, фронтенд-логика и пользовательский интерфейс, а также хранилище данных.

Смарт-контракты Умные контракты хранят бизнес-логику dApp, а также состояние приложения. Это самое большое отличие dApp от традиционного веб-приложения, и именно это дает dApp все преимущества, упомянутые выше.

Фронтенд/интерфейс пользователя В то время как логика бэкенда dApp требует от разработчика написания кода смарт-контракта для развертывания на блокчейне, фронтенд или клиентская часть dApp может использовать стандартные веб-технологии, такие как HTML и JavaScript. Это позволяет разработчикам использовать знакомые инструменты, библиотеки и фреймворки. Пользовательский интерфейс на стороне клиента обычно связан со смарт-контрактами через клиентские библиотеки, такие как Web3.js или Ethers.js, которые поставляются в комплекте с ресурсами фронтенда и отправляются в браузер вместе с пользовательским интерфейсом. Взаимодействие со смарт-контрактами, такое как подписание сообщений и отправка транзакций смарт-контрактам, обычно осуществляется через браузерный Web3-кошелек, например MetaMask.

Хранение данных Большинству приложений необходимо хранить данные, но из-за распределенной природы блокчейн хранение больших объемов данных на цепочке нецелесообразно и может оказаться очень дорогим. Поэтому многие dApp, которым необходимо хранить данные, используют офф-чейн сервисы хранения данных, такие как IPFS или Filecoin, оставляя блокчейн только для хранения важной бизнес-логики и состояния.

Можно также использовать традиционные облачные сервисы хранения данных. Однако многие разработчики выбирают децентрализованные варианты, чтобы сохранить и расширить свойства минимизации доверия, которые обеспечивает dApp на базе блокчейна.

Архитектура Ethereum dApp

Архитектура Ethereum dApp

Теперь, когда мы знаем компоненты dApp, давайте рассмотрим пример создания простого сквозного контракта.

Шаг первый: создание смарт-контракта

Смарт-контракт в нашем dApp будет простым примером, используемым для поиска данных и отражения изменений состояния на блокчейне. В данном случае мы будем искать стоимость ETH/USD, используя ETH/USD Data Feed, а затем постоянно сохранять результат в смарт-контракте.

Первым делом откройте документацию и перейдите на страницу Using Data Feeds. Оттуда вы можете скопировать исходный код примера и вставить его в новый файл в выбранной вами IDE (например, Visual Code), либо нажать кнопку «Open In Remix» и работать из веб-версии Remix.

В этом примере мы будем работать с Visual Studio Code и Hardhat, фреймворком для разработки виртуальной машины Ethereum.

Сначала мы создадим новую структуру каталогов для нашего dApp с папкой backend для кода смарт-контракта:

Далее мы откроем созданную директорию для нашего dApp в редакторе VS Code, а затем установим Hardhat:

После этого удалите файл Touch.sol в папке «contracts», создайте новый файл в этой папке под названием PriceConsumerV3.sol и сохраните. Здесь мы создадим наш смарт-контракт, поэтому скопируйте код из примера в документации Chainlink в этот файл и сохраните его.

В коде примера вы увидите, что в демо-контракте уже есть функция getLatestPrice для поиска текущей цены Ethereum на Rinkeby ETH/USD Data Feed.

Нам нужно создать новую переменную и новую функцию для хранения этого значения в смарт-контракте. Первым шагом будет создание новой переменной под существующей priceFeedone для хранения цены Ethereum:

Далее нам нужно создать новую функцию, которая будет вызываться фронтендом dApp. Эта функция должна искать последнюю цену Ethereum, вызывая существующую функцию getLatestPrice. Затем она должна сохранить это значение в новом параметре storedPrice:

Ваш новый контракт должен выглядеть следующим образом:

Шаг второй: развертывание смарт-контракта

Теперь вы готовы скомпилировать и развернуть свой контракт в тестовой сети Rinkeby. Не забудьте сначала пополнить свой кошелек MetaMask некоторым количеством Rinkeby ETH.

Если вы используете Remix, вы можете скомпилировать и развернуть свой контракт, используя стандартный процесс Remix. Если вы используете IDE, например Visual Studio Code, мы рекомендуем использовать Hardhat для управления контрактами.

Первым шагом к компиляции и развертыванию вашего контракта является установка библиотеки инструментов Hardhat, библиотеки контрактов Chainlink и библиотеки dotenv для хранения паролей и секретных ключей в отдельном файле .env:

Затем замените содержимое файла hardhat-config.js на следующее:

Следующим шагом будет создание файла .env в папке бэкенда. Затем вам нужно извлечь ваш приватный ключ из кошелька Web3 и вставить его в секцию значения поля PRIVATE_KEY в файле .env. Пожалуйста, убедитесь, что вы используете новый кошелек Web3, на котором нет средств в mainnet.

После этого вам необходимо получить конечную точку RPC для доступа к сети Rinkeby. Это можно сделать, вставив URL RPC в поле RINKEBY_RPC_URL в файле .env. Мы рекомендуем подписаться на бесплатную учетную запись Infura или Alchemy, чтобы получить URL RPC.

Создание файла .env

Создание файла .env

Следующим шагом будет изменение содержимого файла deploy.js в папке ‘scripts’, чтобы убедиться, что он развернет ваш новый контракт. Откройте файл и убедитесь, что следующий код заменяет уже имеющийся. Это просто возьмет ваш скомпилированный контракт PriceConsumerV3 и попытается развернуть его. Не забудьте сохранить изменения.

Теперь вы готовы составить и развернуть свой смарт-контракт в сети Rinkeby с помощью Hardhat:

Вы должны увидеть сообщение, подобное приведенному ниже, в котором будет указан адрес на Rinkeby, на который был развернут ваш смарт-контракт. Запишите этот адрес, он понадобится нам для следующего шага.

Развернутый смарт-контракт

Развернутый смарт-контракт

Поздравляем, теперь вы готовы перейти к фронтенд-части вашего dApp!

Шаг 3: Создание фронтенд-приложения

Логика фронтенда и пользовательский интерфейс вашего dApp могут быть построены с использованием широкого спектра различных фреймворков.

React — одна из самых популярных библиотек JavaScript для создания многофункциональных пользовательских веб-интерфейсов, поэтому она используется во многих Web3 dApp. Кроме того, Ethers.js — это библиотека JavaScript для подключения и взаимодействия с блокчейнами и смарт-контрактами на базе EVM. Если объединить эти два компонента, вы получите разумную отправную точку для создания фронтенда вашего dApp.

В этом разделе мы создадим новое приложение React с помощью генератора шаблонов create-react-app. Затем мы внедрим офф-чейн логику, использующую Ethers.js для связи пользовательского интерфейса с развернутым смарт-контрактом, что позволит нам создать полноценный сквозной dApp.

Создание React-приложения Первым шагом для создания фронтенда является установка и реализация проекта create-react-app boilerplate, а затем его модификация для нашего dApp. Первым шагом будет установка библиотеки в новую папку «frontend»:

После этого в вашем проекте должна появиться новая папка «frontend» со всем связанным с ней кодом React. Раскройте папку «frontend» и выполните следующие действия:

Структура папок должна выглядеть следующим образом:

Структура папок React front-end

Структура папок React front-end

Теперь мы почти готовы приступить к изменению кода приложения React. Но сначала не забудьте установить библиотеки для Bootstrap и Ethers.js. Bootstrap — это популярный CSS-фреймворк для фронтенда, который поставляется с удобными для React виджетами пользовательского интерфейса с наложенной стилизацией CSS, а Ethers.js позволяет нам подключить наш фронтенд к развернутым смарт-контрактам на блокчейне. Убедитесь, что эти команды выполняются из папки «frontend».

Теперь мы готовы к изменению кода приложения React. Откройте файл App.js в папке /src/ и удалите его содержимое. Мы начнем создавать его с нуля.

Первый шаг — сообщить приложению, что мы хотим использовать React (включая библиотеки useEffect и useState) и Ethers.js:

Затем создайте функцию под названием «App» и экспортируйте ее:

Теперь мы начнем заполнять содержимое функции «App». Добавьте в нее следующий код. Этот код делает следующее:

Устанавливает реактивные хуки storedPrice и setStoresPrice. Создает соединение с вашим кошельком MetaMask Web3. Устанавливает адрес развернутого смарт-контракта и ABI. Оба эти параметра необходимы Ethers.js для взаимодействия с развернутым смарт-контрактом. Адрес смарт-контракта можно получить из шага развертывания, описанного ранее в этом руководстве. Вставьте это значение вместо строки REPLACE_WITH_DEPLOYED_CONTRACT_ADDRESS. ABI смарт-контракта можно получить из файла /backend/artifacts/contracts/PriceConsumerV3.json, в элементе abi. Вы можете использовать минификатор кода, чтобы отформатировать его в лучшем виде для хранения в вашем приложении.

Теперь мы создадим две функции, которые будут использоваться в нашем приложении:

getStoredPrice подключится к развернутому смарт-контракту и получит текущее значение геттер-функции storedPrice(). Функция setNewPrice будет вызывать функцию storeLatestPrice развернутого смарт-контракта, ждать завершения транзакции, а затем вызывать функцию getStoredPrice для получения сохраненной в смарт-контракте цены. Мы также добавим вызов getStoredPrice в нашу функцию App, чтобы она первоначально вызывала функцию getter при загрузке страницы:

Последним шагом в создании фронтенда является возврат JSX-кода для рендеринга браузером. Вставьте следующий код в нижней части функции App, под вызовом getStorePrice(). Этот код делает следующее:

Возвращает простой двухколоночный макет сетки. Первый столбец содержит текущую хранимую цену ETH/USD в смарт-контракте. Второй столбец содержит кнопку, которую пользователь может использовать для взаимодействия с умным контрактом и обновления сохраненной цены. Нажатие кнопки вызывает функцию setNewPrice, описанную выше.

Теперь ваше приложение готово. При необходимости вы можете сравнить свой код с готовым примером, чтобы убедиться, что вы все сделали правильно. Теперь вы готовы к запуску вашего dApp.

Запуск приложения dApp Убедившись, что все файлы сохранены, запустите свой dApp локально, выполнив следующую команду из папки frontend:

После загрузки приложения в вашем браузере должно появиться новое окно, отображающее пользовательский интерфейс dApp. Вы также должны получить всплывающее уведомление от MetaMask с просьбой подключить ваш кошелек к приложению.

Фронтенд React

Фронтенд React

После того как вы убедитесь, что пополнили свой счет в MetaMask некоторым количеством Rinkeby ETH, нажмите кнопку «Обновить» в пользовательском интерфейсе dApp, чтобы взаимодействовать с развернутым смарт-контрактом в сети Rinkeby. Вы должны получить уведомление от MetaMask с просьбой подтвердить транзакцию. После этого в течение нескольких секунд ваш dApp должен автоматически обновиться, а в разделе «Сохраненная цена» появится текущая цена Ethereum:

Фронтенд React, показывающий результат работы Data Feed

Фронтенд React, показывающий результат работы Data Feed

Поздравляем, теперь вы успешно создали, развернули и взаимодействовали с простым dApp! В этом руководстве вы просто запустите фронтенд локально на своем компьютере, но при желании вы можете развернуть его на облачном сервере или даже децентрализовать фронтенд и развернуть его на IPFS! Вы также можете поработать с CSS приложения, чтобы изменить внешний вид пользовательского интерфейса.

Резюме

Децентрализованные приложения — это приложения, которые заменяют традиционную обработку данных на внутреннем сервере технологиями Web3, такими как блокчейн и смарт-контракты, что дает им уникальные гарантии безопасности и устойчивости к цензуре, которые невозможны для традиционных веб-приложений.

Как создать децентрализованное приложение EOS (простое руководство)

Две недели назад я посетил первый глобальный хакатон EOS в Гонконге. Мы создали распределенное приложение для однорангового рынка данных (dapp) с использованием ReactJS и EOSJS, а также настраиваемый смарт-контракт, написанный на C ++. Хотя мы не выиграли (победитель использовал оборудование для сканирования сетчатки глаза и встроенную функцию проверки личности EOS), мы получили признание сообщества EOS за наш проект.

Это пошаговое руководство для всех, кто хотел бы начать создавать децентрализованное приложение EOS.

Для начала я настоятельно рекомендую использовать Docker и установить образ EOSIO Dev. Следуйте официальной документации EOSIO здесь. Https://developers.eos.io/eosio-nodeos/docs/docker-quickstart

Создание кошелька

Чтобы создать децентрализованное приложение, которое действительно взаимодействует с кошельком и аккаунтами, нам необходимо их настроить.

В терминале введите cleos wallet create

Это вернет пароль. Сохраните это в надежном месте, так как он вам скоро понадобится.

Примечание. Если это не сработало, значит, вы не указали псевдоним cleos на шаге 1 выше. Убедитесь, что вы полностью следуете руководству по быстрому запуску Docker, предоставленному EOSIO.

Если вы когда-нибудь столкнетесь с проблемой, когда ваш кошелек заблокирован, просто введите cleos wallet unlock

А затем введите пароль, который вы сохранили ранее.

Создание учетных записей

Для взаимодействия с децентрализованными приложениями вам потребуется учетная запись в вашем кошельке. Давайте продолжим и создадим учетную запись. Начнем с импорта двух наборов ключей в наш кошелек. Один будет OwnerKey, а другой — ActiveKey. Убедитесь, что вы сохранили обе пары ключей. OwnerKey всегда должен храниться в строгом секрете.

Создайте свой OwnerKey

В вашем терминале введите cleos create key

Терминал вернет закрытый ключ и открытый ключ.

Затем введите cleos wallet import [Private Key from above]

Терминал вернет импортированный закрытый ключ для [Открытый ключ сверху]

Создайте свой ActiveKey (те же шаги, что и при создании OwnerKey)

В вашем терминале введите cleos create key

Терминал вернет закрытый ключ и открытый ключ.

Затем введите cleos wallet import [Private Key from above]

Терминал вернет импортированный закрытый ключ для [Открытый ключ сверху]

Создайте свою первую учетную запись

В вашем терминале введите

cleos create account eosio user1 [Owner Public Key] [Active Public Key]

После того, как вы закончите создание своей первой учетной записи, вы можете выполнить те же действия, чтобы создать вторую учетную запись (если, например, в вашем приложении пользователи будут отправлять токены друг другу). Предположим, вы создали вторую учетную запись с именем user2.

Создание токена (EOSIO делает это очень просто!)

Сначала мы создадим токен. В отличие от Ethereum, создание экосистемы токенов с EOS очень просто и может быть выполнено с терминала. Мы собираемся развернуть стандартный токен, поставляемый с EOS, но вы можете легко изменить и настроить контракт токена или создать свой собственный с нуля.

Начните с создания учетной записи, в которой мы разместим токен-контракт. Следуйте инструкциям в разделе «Создание учетных записей» (выше), чтобы сгенерировать OwnerKey и ActiveKey.

Затем в вашем терминале

Затем мы развернем стандартный токен-контракт в этой недавно созданной учетной записи.

Обратите внимание, что в строке над -p eosio.token указывает, что учетная запись eosio.token дает разрешение на развертывание контракта. Возможно, ваш кошелек будет заблокирован, и в этом случае вы захотите разблокировать кошелек, прежде чем делать это, выполнив действия по разблокировке, описанные в разделе «Создание кошелька» (выше). Когда вы создаете свои собственные контракты, вы развертываете их так же, как и здесь, но вместо cleos set contract eosio.token вы заменяете eosio.token своим индивидуальным контрактом.

Затем мы создадим токен-валюту с вашим токен-контрактом. Вы можете назвать токен как хотите и установить общее количество выпущенных токенов.

В приведенном выше примере создается 1 млрд токенов TOK с eosio в качестве эмитента. Последний шаг — выпустить токены на одну из наших учетных записей. Обратите внимание, что «памятка» — это способ прикрепления строкового описания к транзакциям. Кроме того, теперь мы получаем разрешение (через -p) от eosio, а не от eosio.token, поскольку учетная запись eosio содержит все 1 млрд токенов.

Вот и все, у вас есть токены, готовые для включения в экосистему вашего приложения!

Использование EOSJS для подключения EOS к вашему децентрализованному приложению

Для реального приложения вы, вероятно, захотите создать индивидуальный контракт. Но сейчас у нас достаточно средств, чтобы создать MVP, так что теперь я покажу вам, как на самом деле взаимодействовать с блокчейном EOS из вашего приложения.

Если у вас еще нет настроенного приложения для реагирования, введите

create-react-app [name of your react app]

В этом базовом каталоге введите следующее в свой терминал, чтобы установить eosjs и добавить его в свой package.json.

npm install eosjs -s

Затем в файле App.js вы захотите импортировать eosjs, используя:

import Eos from “eosjs”;

Нам нужно будет инициализировать экземпляр eosjs, чтобы использовать его в нашем приложении. Сделайте это, добавив следующее в глобальную область. Обратите внимание, что user1ActivePrivKey и user2ActivePrivKey — это закрытые ключи, которые мы создали в разделе «Создание учетных записей». Не используйте здесь ключи владельца; Активные ключи безопаснее. Вам следует сохранить эти ключи как переменные среды и импортировать их, если вы собираетесь в любой момент сделать этот код общедоступным.

Теперь мы можем легко взаимодействовать с нашим локальным узлом EOS. Наш первый шаг — проверить баланс токенов двух наших учетных записей пользователей.

Поскольку в предыдущем разделе мы выдали токены пользователю user1, вы должны увидеть текущий баланс токенов в размере 100,0000 TOK. Если мы проверим баланс токенов пользователя user2, вы не увидите никакого баланса.

В этом примере dapp у нас будет довольно простая функциональность. Предположим, что user1 получает какое-то значение и взамен отправляет токены пользователю user2. В eosjs это лучше всего сделать с помощью «транзакции». Здесь мы отправим 5 TOK

Когда вы создаете индивидуальный контракт, вы будете взаимодействовать с ним так же, как вы взаимодействуете с контрактом токена.

Следующие шаги

Дополнительные примеры от команды EOSIO и создание дополнительных функций для вашего децентрализованного приложения см. В официальной документации EOS.

Вопросов? Проблемы? Пожалуйста, оставьте комментарий, и я буду работать с вами над этим. Если вы нашли это руководство полезным, похлопайте несколько раз, чтобы помочь другим начинающим разработчикам EOS найти его. Кроме того, дайте мне знать, если вас интересует расширенное руководство. Для хакатона мы создали нечто гораздо более сложное, и я рад поделиться с вами другими!

Если вы хотите узнать больше о моем опыте участия в хакатоне, прочтите мою другую статью здесь!

Как создать DeFi приложение: обязательные функции и расчет стоимости

В 2019 году Forbes объявил, что DeFi сектор возродит индустрию криптовалют. Тогда про DeFi было мало что известно, и люди сомневались в безопасности и надежности новых технологий. То же самое было со всеми изобретениями — помните громоздкие и странные первые смартфоны?

Когда в 2021 инвестиции в DeFi превысили 100 миллиардов долларов, стало очевидно: приложения на блокчейне распространились по всему миру. Эксперты предполагают, что DeFi приложения растут благодаря новым финансовым продуктам, таким как децентрализованный банкинг, P2P-кредитование и криптобиржи.

Давайте рассмотрим рынок DeFi приложений, их функции и затраты на разработку DeFi приложения с нуля.

Время чтения: 9 минут

Создать DeFi приложение

Что такое DeFi приложения

Децентрализованные финансы (Decentralized Finance, DeFi) — это финансовые инструменты, сервисы и приложения, созданные на блокчейне. Они возникли как альтернатива банкам. В перспективе они заменят традиционную финансовую систему технологиями, основанными на протоколах с открытым исходным кодом. DeFi платформы построены на смарт-контрактах и технологии блокчейн, благодаря чему финансовая индустрия становится более доступной и прозрачной. DeFi работает с цифровыми активами, NFT токенами и криптовалютами.

Полная противоположность DeFi систем — централизованные финансы (Centralized Finance, CeFi). Это любое связанное с финансами программное обеспечение, которым владеют и централизованно управляют официально зарегистрированные компании. В CeFi применяются механизмы защиты пользователей, поэтому, в случае нарушения их прав, CeFi платформы могут быть привлечены к ответственности. Так риск потерять деньги намного ниже по сравнению с децентрализованными финансами. Сегодня платформы CeFi значительно превосходят DeFi как по количеству пользователей, так и по общему объему рынка.

Сравнение DeFi и CeFi приложений

DeFi приложения VS CeFi приложения

Как работает DeFi приложение

Для начала давайте рассмотрим технологию блокчейн. Блокчейн — это сеть, которая хранит цепочки блоков с данными. Информация поступает в сеть от пользователей и формируется в блоки, которые собираются в цепь по дате и времени создания. Поэтому информацию нельзя изменить или удалить, а транзакции в сети невозможно отменить. Поскольку вся информация становится общедоступной для участников сети, как только она была туда загружена, блокчейн считается прозрачным и надежным.

схема работы блокчейна

Как работает блокчейн?

Блокчейн-приложения, независимо от того, связаны они с финансами или нет, строятся на смарт-контрактах. Смарт-контракты — это самоисполняющиеся алгоритмы, которые используются для создания и отслеживания активов и управления ими в блокчейне. Проще говоря, смарт-контракт — это набор заранее запрограммированных требований, по выполнении которых происходит какое-то действие. Например, если пользователь вложит активы под процент на 30 дней, то по истечении срока активы автоматически вернутся с начисленным процентом.

DeFi приложения построены на одноранговых (p2p) децентрализованных сетях, и между пользователями, обменивающимися данными или деньгами, нет посредников. Благодаря смарт-контрактам система автоматизирована и не нуждается в контроле сверху, в то время как нынешняя финансовая система основана на централизованных платформах и контролируется государственными учреждениями.

Основные типы DeFi приложений

DeFi — это не конкретный тип, а скорее обобщающий термин, объединяющий множество приложений, связанных с финансами и созданных на блокчейне. Давайте познакомимся с наиболее известными из них.

Децентрализованные биржи

Децентрализованная биржа (DEX) — это платформа, на которой пользователь может покупать, продавать или обменивать активы, инвестировать на короткий или длительный срок и зарабатывать на торговле криптовалютами. На бирже пользователь может получить данные о спотовых ценах, рынках, росте или снижении стоимости криптовалюты, а также ликвидности кредитных транзакций. Биржи также опираются на главное правило DeFi: никаких посредников. Одна из самых известных децентрализованных бирж — биржа Uniswap, созданная на сети Эфириум.

Uniswap DEX экран приложения

NFT приложения

NFT — это невзаимозаменяемый токен, с помощью которого люди создают цифровые образы уникальных предметов, например, картин, фотографий, видео, музыки и GIF-файлов. Торговля NFT токенами стала трендом в 2021 году, и капитализация торговых платформ резко взлетела. На самой известной платформе — OpenSea — сейчас 2,3 миллиона пользователей, а ее текущая рыночная капитализация превышает 841 миллион долларов. В Purrweb мы подготовили руководство по разработке NFT приложений, ссылка ниже.

OpenSea экран NFT-приложения

Экран приложения OpenSea

Криптокошельки

Криптокошельки — это приложения для хранения криптовалют. Когда пользователи создают аккаунт, они получают уникальный код доступа, защищающий их личные данные. Криптокошельки могут работать с разными криптовалютами и часто имеют функции перевода и конвертации токенов. Один из примеров — Trust Wallet, официальный кошелек биржи Binance. Используя Trust Wallet, можно покупать криптовалюты и держать их в стейке, хранить NFT токены и использовать DApp браузер для торговли на децентрализованных биржах.

Trust Wallet экраны приложения

Экраны Trust Wallet

DeFi банкинг

Глобальные децентрализованные инструменты, благодаря которым операции становятся доступными, быстрыми и безопасными, постепенно входят в банковский сектор. DeFi приложения, основанные на алгоритмах и протоколах, более привлекательны для пользователей, чем традиционные банковские сервисы. Децентрализованные банки предлагают стейкинг с высокой доходностью, реферальные программы с наградами, инструменты управления капиталом, кредиты и переводы. Хороший пример — Vast Crypto Banking. Vast Bank — это первый национальный банк США, в котором пользователи могут покупать, продавать и хранить криптовалюты в мобильном приложении.

P2P-кредитование

Благодаря децентрализации, контроль над финансовыми потоками в блокчейн-экосистеме равномерно распределен между участниками сети. Поэтому кредитование становится удобнее, так как исчезают цепочки посредников и банковская бумажная волокита. Также децентрализованные протоколы кредитования минимизируют риски, потому что DeFi сервисы используют автоматизированные смарт-контракты и блокчейн вместо банков и брокеров. Алгоритмы определяют все условия предоставления услуг, включая сумму кредита, срок и процентную ставку. Поэтому кредит становится дешевле и его легче получить. Одно из самых популярных и удобных приложений — Aave.

Aave экран приложения

Экран приложения кредитования Aave

DeFi краудфандинговые платформы

Краудфандинг — это метод коллективного финансирования проектов за счет заемного и акционерного капитала или благотворительности. Децентрализованные краудфандинговые платформы дают возможность стартапам и перспективным проектам безопасно и прозрачно привлечь средства. Среди современных сервисов — краудфандинговые DeFi платформы Brugu и MantraDAO.

Краудфандинговая организация MantraDAO

Логотип краудфаундинговой площадки MantraDAO

Основные функции DeFi приложений

Современные DeFi приложения должны соответствовать нескольким критериям: прозрачность, надежность, интероперабельность (способность приложения взаимодействовать с другими системами без ограничений) и гибкость. Для этого в приложении должны быть соответствующие функции. Также можно добавить что-то еще, чтобы выделиться на фоне конкурентов. Итак, прежде чем узнать, как создать DeFi приложение, давайте узнаем о его основных функциях.

Схема с главными функциями децентрализованного финансового приложения

Основные функции DeFi приложений

Поддержка нескольких криптовалют. Пользователи часто выполняют финансовые операции не с одной, а с несколькими валютами. Криптокошельки, которые поддерживают только одну криптовалюту, не пользуются таким спросом, как мультивалютные. Если добавить поддержку нескольких блокчейн-сетей и токенов, приложение привлечет больше пользователей.

Поиск и фильтры. DeFi приложение должно быть понятным и удобным для клиента. Можно добавить функцию поиска и возможность фильтрации списка криптовалют и блокчейнов, которые поддерживает ваше приложение. Также можно включить настраиваемый список услуг или категорий, если в продукте их несколько. Например, отфильтровать кредиты по сроку займа или краудфандинговые проекты по размеру доната.

Операции с криптовалютой. Не только децентрализованные биржи и кошельки, но и другие типы DeFi приложений должны поддерживать транзакции с финансовыми активами. Пользователи хотят переводить криптовалюту между счетами, а также обменивать, конвертировать, покупать и продавать ее в одном месте.

Push-уведомления. Мобильные push-уведомления в приложении нужны для того, чтобы своевременно информировать пользователей об обновлениях и изменении правил. Особенно актуально это для децентрализованных бирж, банковских сервисов, кредитных платформ и кошельков, так как пользователи оперативно получают информацию о поступлении или списании средств. Кроме того, push-уведомления помогают повысить безопасность, поскольку через них можно отправлять одноразовые коды для входа в аккаунт и доступа к активам.

Совместимость с iOS и Android. Если вы хотите создать DeFi приложение, которое будет популярно у целевой аудитории, нужно убедиться, что оно совместимо с распространенными операционными системами. Вы можете выбрать одну ОС или сделать приложение кроссплатформенным и адаптивным с помощью фреймворка React Native.

Технологии для разработки DeFi приложений

Чтобы разработать DeFi приложение, нужно выбрать, будет ли это десктопный, мобильный или веб-вариант. В этом разделе рассмотрим популярные технологии, которые нужны для различных типов приложений.

Веб приложение + его стек под ним, тоже самое для мобильных приложений и десктопа

Технологии для разработки DeFi приложений: Electron.js, React.js, Node.js, React Native

Electron.js для десктопных приложений. Используя Electron.js, разработчики создают кроссплатформенные приложения для ПК. Electron.js — это фреймворк с открытым исходным кодом, который основан на JavaScript, HTML и CSS и использует дополнительные фреймворки Chromium и Node.js. Приложения, основанные на Electron.js, совместимы с Windows, Mac и Linux.

React.js и Node.js для веб-приложений. React.js и Node.js — библиотеки JavaScript, которые используются для разработки веб-приложений. React.js — это библиотека интерфейсов с открытым исходным кодом и удобным для разработчиков набором инструментов. Она нужна, чтобы создавать пользовательскую сторону приложения. Node.js используется для разработки масштабируемых и гибких веб-приложений. Основанные на Node.js приложения обладают высокой производительностью.

React Native для мобильных приложений. React Native — это фреймворк с единой кодовой базой, которая подходит для разработки мобильных приложений как для Android, так и для iOS. Одна команда может создать приложения для двух платформ, что экономит время и деньги на разработку ПО.

Для создания децентрализованного финансового приложения нужно написать смарт-контракты. Эксперты считают, что лучшие языки программирования для этого — Solidity, Java, JavaScript, Python и SQL. Нужно помнить, что разработка программ для блокчейна довольно специфична, поэтому вам понадобятся опытные программисты. У нас в Purrweb есть команда, которая может вам в этом помочь.

Сложности в разработке DeFi приложений

Прежде чем приступить к созданию DeFi приложения, нужно узнать об ограничениях и трудностях, которые могут возникнуть в процессе разработки. Рассказываем о типичных проблемах и методах их решения.

Трудности во время разработки DeFi приложений

Сложности в разработке DeFi приложений

Токеномика продукта. Вам нужно выбрать блокчейн-платформу и способ использования криптовалюты. Эти решения определяют дальнейший выбор технологий для разработки и протоколов. Токеномика — это термин, который определяет методы, влияющие на использование токена, его ценность, процесс создания и распределения, спрос и предложение, а также механизмы стимулирования и сжигание токенов. Для криптопроектов хорошо продуманная токеномика — важный фактор успеха.

Отсутствие стандартизации. Существует множество протоколов, блокчейнов и типов DeFi приложений, и пользователи ожидают, что ваш продукт будет их поддерживать. Однако индустрия DeFi — относительно молодая, поэтому стандартов пока немного. В результате разработчикам сложно создать приложение, удовлетворяющее все потребности пользователя. Вам, как создателю, нужно уделить особое внимание специализации вашей команды, чтобы приложение поддерживало все протоколы.

API и источники данных. Еще одна проблема — сбор информации из разных источников и API (программных интерфейсов приложения). Разработчикам часто приходится писать программное обеспечение с нуля и интегрировать его со сторонними системами и базами данных. Заранее выделите на это время и финансовые ресурсы.

В одном из проектов нас также попросили использовать данные из различных API в приложении криптокошелька. Посмотрите, как команда Purrweb справилась с этой задачей.

Требования к производительности. Требования к финансовым приложениям всегда высоки: люди хотят быстро получать деньги при обмене, покупке и продаже активов. При недостаточном количестве серверов или низкой пропускной способности инфраструктуры, вы рискуете потерять клиентов. Необходимо убедиться, что DeFi приложение хорошо работает при высокой нагрузке.

Мы стараемся соответствовать ожиданиям, поэтому, чтобы повысить производительность приложения Broex, наша команда внедрила обновление данных в режиме реального времени для ключевых функций. А для второстепенных мы добавили 3-секундную задержку. Подробнее об этом читайте здесь⬇️

Различные подходы к управлению. Каждый из протоколов имеет свою модель управления, которая может не подходить для вашего приложения. Подходы к управлению в DeFi зависят от проекта. Некоторые проекты в равной степени вовлекают всех участников в управление, в то время как другие ограничиваются только голосами держателей токенов или стейкеров. Например, LUNA, токен сети Terra, известный своим резким падением, как раз использовался для подачи предложений по управлению и голосования.

5 шагов для создания DeFi приложения

Изучив и оценив последние разработки, эксперты пришли к выводу, что технология блокчейн становится все более надежной. Ей больше доверяют и, как следствие, ее чаще используют. Чтобы присоединиться к созданию финансовой инфраструктуры будущего и разработать собственное приложение, вам необходимо сделать несколько шагов.

Шаг 1: Проанализируйте проект. Во-первых, определитесь с типом приложения: вам нужно приложение для биржи, кредитования или NFT? Подумайте о своей целевой аудитории и бизнес-цели проекта. Оцените актуальность и новизну идеи, установите сроки и бюджет.

Шаг 2: Создайте дизайн. При разработке приложения важно позаботиться о пользовательском опыте. Найдите референсы, которые помогут команде дизайнеров создать идеальный внешний вид приложения. Затем создайте свое приложение вместе с UI/UX командой. DeFi приложения могут показаться сложными, особенно для новичков в криптоиндустрии. Помочь пользователям можно через понятный и дружелюбный дизайн. Можете добавить небольшое обучение, появляющееся при первом запуске.

Шаг 3. Разработайте приложение. Следующий шаг — создать DeFi приложение. Выберите блокчейн и определите токеномику. Если вы создаете сложное приложение, например, биржу, рассмотрите возможность интеграции криптокошельков. Доверьте все этапы разработки приложения и программирование смарт-контрактов специалистам.

Шаг 4: Протестируйте приложение. Тестирование должно идти параллельно разработке приложения. Оно гарантирует, что приложение будет работать так, как задумано, и без ошибок. Если ваше DeFi приложение адаптировано под разные устройства и хорошо работает при высокой нагрузке, люди будут продолжать его использовать.

Шаг 5. Запустите приложение и получите обратную связь. Заключительный этап — запуск. Соберите отзывы от первых пользователей, чтобы улучшить качество обслуживания, и попросите аудиторию оценить приложение по разным критериям. Чтобы клиенты могли использовать ваш продукт максимально эффективно, вам также необходимо регулярно обновлять приложение.

Сколько стоит разработка DeFi приложения?

Если вы создаете DeFi приложение, то стоит заранее узнать о всех этапах разработки и оценить потенциальные затраты. Рынок разработки приложений огромен, и расценки команд сильно различаются, поэтому единого ответа на вопрос о стоимости нет.

У команды Purrweb уже есть опыт создания DeFi приложений, поэтому наши оценки основаны на реальном кейсе. Можете посмотреть, как мы создавали криптокошелек.

В таблице ниже мы рассчитали затраты на создание NFT криптокошелька с базовым набором функций. Наша команда оценивает стоимость и временные рамки разработки MVP следующим образом:

Стадия Оценка в часах Оценка в неделях Приблизительная стоимость
Анализ бизнес логики проекта 40 часов 1 неделя 48 000 руб.
UI/UX дизайн 140 часов 5 недель 380 000 руб.
Стадия разработки приложения 2100 часов 24 недели 5 710 000 руб.
Тестирование 1080 часов 27 недель 1 305 000 руб.
Проектный менеджмент На протяжении всего проекта На протяжении всего проекта 595 000 руб.

Итого, разработка DeFi приложения будет стоить примерно 8 038 000 рублей.

Резюмируем

DeFi — одна из тенденций в блокчейн-индустрии. Исходя из текущей ситуации, DeFi обладает потенциалом не только стать полезным инструментом в банковском секторе, но и превзойти традиционные сервисы.

Мы надеемся, что наше руководство ответило на большинство ваших вопросов о разработке DeFi приложений. За оценкой проекта и консультацией обращайтесь к нашим экспертам. Команда Purrweb будет рада помочь воплотить вашу идею в жизнь. Мы не только поможем советом, но и займемся разработкой и дизайном продукта. Посмотрите наши кейсы и оставьте заявку в форме, чтобы мы связались с вами.

Как Создать Децентрализованное Приложение (dApp) на Solana?

Solana — это самая популярная альтернатива Ethereum в качестве среды для запуска смарт-контрактов и децентрализованных приложений, которая выделяется невероятно низкими транзакционными издержками, огромной пропускной способностью и высоким потенциалом к масштабированию. Еще одной важной особенностью этого проекта является более простая разработка dApps, так как Solana, в отличие от того же Ethereum, использует привычные всем языки программирования: Rust, C и C++.

В этой статье мы подробно расскажем об этом блокчейне и его преимуществах для запуска своих блокчейн-проектов, а также опишем сам процесс создания dApps на Solana — особенности, этапы разработки, стек технологий и стоимость.

Начало работы с Solana

Solana — это платформа с открытым исходным кодом, которая создана для предоставления масштабируемой, безопасной и максимально децентрализованной среды для запуска токенов, смарт-контрактов, dApps, NFT и других блокчейн-решений. Стартап был запущен в 2017 году Анатолием Яковенко, Грегом Фицджеральдом и Эриком Уильямсом. Анатолий и Грег — программисты, ранее работавшие в Qualcomm, а Эрик Уильямс — доктор физики элементарных частиц, работавший в CERN (отвечают за большой адронный коллайдер).

Технологические особенности Solana

С технологической точки зрения экосистема Solana представляет собой кластер технологий, которые работают в тандеме с протоколом для повышения его скорости и масштабируемости. В основе экосистемы лежит протокол Proof-of-History (PoH) — децентрализованные часы, который настолько прост и очевиден, что это заставляет задуматься, почему никто не додумался до этого раньше. Поскольку интеграция децентрализованных часов в блокчейн делает его на порядок эффективнее.

Proof-of-History представляет из себя не еще один механизм консенсуса, а специально разработанный для Solana алгоритм синхронизации, главная задача которого — «установить единый временной поток событий и выставить временные метки на каждый блок», не прибегая к излишне сложным, длительным и затратным математическим вычислениям, как это осуществлено, например, в цепочке Bitcoin и Ethereum. Благодаря этим временным меткам ноды-валидаторы могут намного быстрее проверять транзакции, что снижает нагрузку на сеть и тем самым увеличивает общую пропускную способность блокчейна Solana.

Сравнение работы PoW и PoH

  • Tower BFT — одна из разновидностей протокола Byzantine fault tolerance (BFT), которая призвана защитить PoH от вредоносных пулов, желающих обмануть систему, замедлить или остановить ее работу.
  • Gulf Stream — протокол переадресации транзакций, который, по сути, позволяет Solana работать без мемпула. Благодаря ему транзакции в сети Solana подтверждаются намного быстрее и стоят значительно дешевле.
  • Cloudbreak — это специальный механизм для отслеживания балансов участников, который позволяет системе одновременно читать и записывать данные учетных записей, что опять-таки значительно ускоряет работу сети.
  • Archivers — сеть узлов, организованных по примеру Filecoin. Эти узлы хранят данные валидаторов и получают за это награду в виде токенов платформы.
  • Turbine — протокол, созданный спирально для Solana, который позволяет нодам обмениваться блоками так, как это происходит в торрент-сетях.
  • Sealevel — механизм параллельной обработки смарт-контрактов.
  • Pipeline — механизм, обрабатывающий три блока одновременно.

5 преимуществ разработки на Solana

Моментальные транзакции

Результаты тестирования пропускной способности Solana

Крохотные транзакционные комиссии

Еще одним важным преимуществом Solana для запуска своих смарт-контрактов и dApps являются очень низкие сборы, которые в среднем составляют около $0,00025 за одну транзакцию и в два-три раза больше за транзакции смарт-контрактов. Для сравнения, в сети эфира обработка обычных транзакций стоит $3-10, NFT и смарт-контрактов — от $20 до $100.

Простота разработки и развертывания

Основным языком программирования Ethereum является предметно-ориентированный язык Solidity, созданный в 2014 году специально для этого блокчейна. Это накладывает на разработку dApps на Ethereum ограничения, связанные с его слабым распространением, т.е. вам будет банально сложно найти опытного программиста за нормальные деньги. Тогда как для создания смарт-контрактов и dApps на Solana нужен язык программирования Rust, который считается одним из самых распространенных языков программирования в мире, а потому у вас не будет проблем с поиском нужных опытных специалистов.

Кроме того, также с стоит отметить, что команда проекта разработала протокол под названием LLVM (Low Level Virtual Machine) для компиляции смарт-контрактов и приложений, написанных на других языках для WASM: С, C++, C#, Go и других. Посредством LLVM можно легко и быстро перенести свои смарт-контракты и приложения из WASM-сетей (Dfinity, EOS, Polkadot и Eth2) в среду Solana.

Все это означает, что вам будет намного проще найти нужных опытных специалистов для разработки Solana и стоимость их работы будет значительно ниже, нежели разработка на Ethereum.

Отсутствие проблем с мемпулом

Мемпулом называют своего рода «зону ожидания», где все инициированные, но пока не подтвержденные транзакции ждут своего подтверждения. Один из главных плюсов Solana перед остальными сетями (в том числе Ethereum, Bitcoin, BSC, Avalanche и Tron) является отсутствие такой зоны. В Solana операции обрабатываются настолько быстро (400 мс), что они просто не успевают создать никакой очереди. Тогда как в Ethereum и Bitcoin такие очереди считаются нормой, из-за чего пользователи должны конкурировать между собой, повышая стоимость транзакций, чтобы их транзакции были подтверждены.

Низкое потребление ресурсов

У всех распределенных реестров одинаковая задача — запись, хранение, обработка и передача данных. И в зависимости от того или иного реестра на выполнение этой цели они тратят разное количество ресурсов. Для примера можно представить сеть блокчейна с 1 млн активных пользователей. Когда в такой сети создается новый блок, информацию о нем должны получить все участники сети, что подразумевает огромный объем передачи данных между ними. И чем больше участников, тем больше этот трафик. Это может создать проблемы с масштабированием, способные замедлить или остановить работу системы, если объем трафика превысит пропускную способность системы блокчейна.

У Solana эту проблему удалось решить с помощью протокола под названием Turbine, который действует подобно торрент-сетям. Он разбивает каждый блок на множество небольших кусочков, после чего каждый узел скачивает один из кусочков и раздает его другим участникам. И так с каждым кусочком, пока нужные данные не окажутся у всех участников сети. Такой подход снижает нагрузку на сеть, поскольку данные передаются небольшими объемами напрямую от одного участника другому, а не через общую сеть с ограниченной пропускной способностью. Кроме этого, Turbine также обеспечивает избыточность данных, что повышает безопасность сети.

Solana vs Ethereum vs другие блокчейны

Solana vs Ethereum

Как разработать приложение на Solana?

Разработка децентрализованных приложений на Solana обычно происходит в несколько этапов: открытие, поиск разработчика, разработка смарт-контрактов и интерфейсов, тестирование и развертывание. Вот их краткое описание.

Шаг 1: Фаза открытия проекта

Запуск любого стартапа, в том числе разработка dApps на Solana, начинается с определения концепции и бизнес-целей проекта. Прежде чем приступать к поиску разработчика и непосредственно разработке приложения, вы должны определиться с тем, что должно делать ваше приложение, как оно это будет делать и для кого. При этом чем четче будет ваше понимание логики приложения, тем проще будет вам найти нужных специалистов и тем проще им будет реализовать вашу задумку.

Шаг 2: Поиск компании-разработчика

Вторым шагом создания dApps на Solana будет поиск блокчейн-разработчиков с нужными вам навыками. Причем это должны быть не просто профессиональные программисты со знанием определенных языков программирования, а команда с опытом запуска блокчейн-решений в нужной вам сфере. Например, если вы хотите создать криптовалютную биржу, то вам нужен разработчик, в портфолио которого есть такие проекты. Если же вы хотите запустить свою блокчейн-платформу для отслеживания цепочек поставок, то ищите тех, кто уже создавал такие площадки.

  • Опыт программирования. Само собой разумеется, для разработки приложения на Solana вам нужны разработчики, которые знают и имеют опыт программирования на таких языках, как Rust, C и C++, поскольку это основные языки программирования Solana. C и C++ являются одними из широко известных языков, тогда как Rust сравнительно новый. Однако в отличие от Solidity Rust намного проще в освоении, так как он не требует огромного опыта и глубокого знания для начала работы, поэтому он намного популярнее, а его сообщество более прогрессивное.
  • Экспертиза в блокчейне. Кроме этого, очень важно, чтобы выбранная команда разработчиков хорошо понимала принципы работы блокчейнов и логику разработки смарт-контрактов и децентрализованных приложений. Без такого понимания нельзя создать dApp безопасным и надежным.
  • Фронтенд-экспертиза. Взаимодействие пользователя с приложениями на Solana облегчает фронтенд-фреймворк Vue 3 Single-Page Application (SPA) на JavaScript и другие аналогичные решения. Следовательно, разработчики также должны иметь достаточный опыт работы с JavaScript.

Шаг 3: Планирование разработки dApp

  • Задачи и цели проекта.
  • Объем и оценка проекта.
  • Общий рабочий процесс.
  • Командные роли и обязанности.
  • Основные вехи проекта (например, обзоры результатов и встречи, процессы утверждения и/или внесение изменений в проект, прочее).
  • Как вы будете работать с командой заинтересованных сторон, чтобы убедиться, что все сделано вовремя и в рамках бюджета.

Шаг 4: Разработка смарт-контрактов

Пример логики смарт-контракта для NFT

  • проработать логику смарт-контрактов;
  • разработать шлюзы и API для вашего dApp;
  • интегрировать dApp в блокчейн Solana;
  • развить инфраструктуру dApp.

Шаг 5: Разработка интерфейсов

Если это не ваш вариант, то вам не обойтись без разработки эффективного пользовательского интерфейса с приятным и интуитивно понятным дизайном и навигацией.

  1. Создание варфреймов низкой точности — простого наброска будущего дизайна интерфейса, где обозначены основные элементы дизайна и функции приложения.
  2. Создание варфреймов высокой точности — дизайна пользовательского интерфейса приложения в том виде, в котором его увидят конечные пользователи.
  3. Создание кликабельных прототипов — дизайна приложения, где работают все элементы дизайна (кнопки, переходы, анимация, видео и прочее), но не работают функции.

Вы также должны помнить, что пользователи могут захотеть изучить ваше решение, прежде чем подключать свои криптокошельки. Поэтому не стоит скрывать от них функционал и дизайн приложения. Либо заранее создайте подробную текстовую и/или видеоинструкции с детальным описанием возможностей приложения.

Шаг 6: Создание серверной части

Если вы создаете dApp, для которого требуется массивное хранилище данных, или вы планируете запускать другие функции, выходящие за возможности блокчейна и/или смарт-контрактов, тогда вам понадобится центральная серверная часть. Такая серверная часть будет подключаться к смарт-контрактам и интерфейсу приложения, чтобы клиенты могли предлагать дополнительные функции вам, как владельцу бизнеса (для управления вашим dApp), и пользователям.

Шаг 7: Тестирование продукта

Как и в случае с любым другим проектом, прежде чем предлагать созданное вами приложение пользователям, вы должны тщательно его протестировать, чтобы убрать критические баги и ошибки, добиться нужной производительности и высокого уровня безопасности. При этом процесс контроля качества должна пройти каждая новая сборка вашего децентрализованного приложения и смарт-контрактов.

В случае запуска dApps это означает не только стандартные процедуры тестирования (функциональное, регрессионное, кроссплатформенное, юзабилити-тестирование, тестирование безопасности и производительности), но также тестирование смарт-контрактов, которое подразумевает использование тестовой сети для проверки его функциональности и безопасности.

Шаг 8: Развертывание

В качестве последнего шага вам необходимо развернуть свое приложение. Это включает в себя добавление смарт-контракта в блокчейн, добавление мобильных приложений в маркетплейсы App Store и Google Play, переключение внутреннего портала в рабочую среду. Что касается обслуживания, то это, скорее, непрерывный процесс. Несмотря на то, что смарт-контракт останется неизменным, вам все равно придется обновлять пользовательский интерфейс, делая его более удобным.

Стоимость создания dApps на Solana

Стоимость создания решений на базе блокчейна Solana больше всего зависит от двух факторов — сложности и местоположения разработчиков. Например, запуск обычного криптокошелька будет стоить от 25 тысяч долларов (Восточная Европа) до 70 тысяч долларов (Северная Америка), тогда как запуск сложной NFT-платформы обойдется вам в сумму от 35 до 100 тысяч долларов. Вот более детальные расчеты стоимости создания площадки для торговли NFT на Solana.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *