// Разработка

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

Содержание

#1. Начало работы с Solana
#2. Технологические особенности Solana
#3. 5 преимуществ разработки на Solana
#4. Моментальные транзакции
#5. Крохотные транзакционные комиссии
#6. Простота разработки и развертывания
#7. Отсутствие проблем с мемпулом
#8. Низкое потребление ресурсов
#9. Solana vs Ethereum vs другие блокчейны
#10. Как разработать приложение на Solana?
#11. Шаг 1:  Фаза открытия проекта
#12. Шаг 2:  Поиск компании-разработчика
#13. Шаг 3: Планирование разработки dApp
#14. Шаг 4:  Разработка смарт-контрактов
#15. Шаг 5: Разработка интерфейсов
#16. Шаг 6: Создание серверной части
#17. Шаг 7: Тестирование продукта
#18. Шаг 8: Развертывание
#19. Стоимость создания dApps на Solana

Появились вопросы?
Юрий Мусиенко
Автор статьи
Merehead занимается разработкой веб проектов

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

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

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

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

На текущей стадии развертывания сеть Solana способна обрабатывать около 3000 транзакций в секунду, что в 175 раз быстрее Ethereum и в 430 раз быстрее Биткоина. При этом в ходе тестирования команда Solana установила, что при сравнительно небольшом расширении сети валидаторов блокчейн сможет без проблем обрабатывать 65 тыс. транзакций в секунду (TPS) и до 190 тыс. TPS при пиковых нагрузках на сеть. Однако и это не предел: команда проекта обещает достичь 700 тыс. TPS в ближайшей перспективе.

Результаты тестирования пропускной способности 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
Пример логики смарт-контракта для составления двух или более гетерогенных NFT. Источник.
Смарт-контракт или комбинация смарт-контрактов — это место, где будет размещена внутренняя логика вашего децентрализованного приложения. Именно в них будут прописаны действия, которые будет автоматически выполнять ваше dApp — от конвертации одной криптовалюты в другую до кредитования под залог в крипте.

В случае разработки смарт-контрактов на Solana нужно:

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

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

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

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

Создание такого интерфейса обычно проходит в несколько этапов:

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

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

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

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

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

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

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

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

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

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

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

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

Есть вопросы? Задайте их здесь

Имя *
Email *
Телефон
Ваш бюджет
Сообщение
TorMarket - маркетплейс с гибкой системой фильтрации и удобным кабинетом для поставщиков.

  Category: Разработка 03/17/2023
Как Создать NFT Маркетплейс на Solana?
Solana — это блокчейн, позволяющий запускать dApps, смарт-контракты и NFTs в открытой децентрализованной среде. И несмотря на то, что эта сеть была запущена лишь в 2020 году, она уже стала одной из главных альтернатив Ethereum благодаря огромной пропускной способности и очень дешевым транзакциям. В этой статье мы рассмотрим, как использовать все преимущества этого блокчейна для создания своего NFT-маркетплейса на базе Solana и сколько стоит такая разработка.