Написать нам
Категория: Разработка
14.06.2022

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

Хотите создать децентрализованное приложение (dApp) на 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 (в архитектуре Solana). Источник.


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



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



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



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





Результаты тестирования пропускной способности 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?



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

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



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

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



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



Что же касается навыков программирования, то вам нужна команда, отвечающая следующим критериям:



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



На этапе планирования проекта вы вместе с командой разработчиков должны тщательно проработать весь процесс создания приложения. Составить описание проекта, создать план разработки и описать все, что вам нужно для этого. Данный план проведет вашу команду через все этапы разработки приложения.
Написать нам
Имя*:
Email*:
Сообщение: