Результаты тестирования пропускной способности 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 будет поиск блокчейн-разработчиков с нужными вам навыками. Причем это должны быть не просто профессиональные программисты со знанием определенных языков программирования, а команда с опытом запуска блокчейн-решений в нужной вам сфере. Например, если вы хотите создать криптовалютную биржу, то вам нужен разработчик, в портфолио которого есть такие проекты. Если же вы хотите запустить свою блокчейн-платформу для отслеживания цепочек поставок, то ищите тех, кто уже создавал такие площадки.
Что же касается навыков программирования, то вам нужна команда, отвечающая следующим критериям:
- Опыт программирования. Само собой разумеется, для разработки приложения на Solana вам нужны разработчики, которые знают и имеют опыт программирования на таких языках, как Rust, C и C++, поскольку это основные языки программирования Solana. C и C++ являются одними из широко известных языков, тогда как Rust сравнительно новый. Однако в отличие от Solidity Rust намного проще в освоении, так как он не требует огромного опыта и глубокого знания для начала работы, поэтому он намного популярнее, а его сообщество более прогрессивное.
- Экспертиза в блокчейне. Кроме этого, очень важно, чтобы выбранная команда разработчиков хорошо понимала принципы работы блокчейнов и логику разработки смарт-контрактов и децентрализованных приложений. Без такого понимания нельзя создать dApp безопасным и надежным.
- Фронтенд-экспертиза. Взаимодействие пользователя с приложениями на Solana облегчает фронтенд-фреймворк Vue 3 Single-Page Application (SPA) на JavaScript и другие аналогичные решения. Следовательно, разработчики также должны иметь достаточный опыт работы с JavaScript.
Шаг 3: Планирование разработки dApp
На этапе планирования проекта вы вместе с командой разработчиков должны тщательно проработать весь
процесс создания приложения. Составить описание проекта, создать план разработки и описать все, что вам нужно для этого. Данный план проведет вашу команду через все этапы разработки приложения.
В рамках плана проекта вы должны учитывать следующие факторы:
- Задачи и цели проекта.
- Объем и оценка проекта.
- Общий рабочий процесс.
- Командные роли и обязанности.
- Основные вехи проекта (например, обзоры результатов и встречи, процессы утверждения и/или внесение изменений в проект, прочее).
- Как вы будете работать с командой заинтересованных сторон, чтобы убедиться, что все сделано вовремя и в рамках бюджета.
Шаг 4: Разработка смарт-контрактов
Пример логики смарт-контракта для составления двух или более гетерогенных NFT.
Источник.
Смарт-контракт или комбинация смарт-контрактов — это место, где будет размещена внутренняя логика вашего децентрализованного приложения. Именно в них будут прописаны действия, которые будет автоматически выполнять ваше dApp — от конвертации одной криптовалюты в другую до кредитования под залог в крипте.
В случае разработки смарт-контрактов на Solana нужно:
- проработать логику смарт-контрактов;
- разработать шлюзы и API для вашего dApp;
- интегрировать dApp в блокчейн Solana;
- развить инфраструктуру dApp.
Шаг 5: Разработка интерфейсов
Теоретически вы можете создать свое dApp без разработки обычных пользовательских мобильных и веб-интерфейсов, ориентированных на более простое взаимодействие с конечным пользователем. И ваше приложение даже будет при этом нормально работать. Однако пользоваться им смогут лишь те пользователи, которые хорошо разбираются в работе смарт-контрактов.
Если это не ваш вариант, то вам не обойтись без разработки эффективного пользовательского интерфейса с приятным и интуитивно понятным дизайном и навигацией.
Создание такого интерфейса обычно проходит в несколько этапов:
- Создание варфреймов низкой точности — простого наброска будущего дизайна интерфейса, где обозначены основные элементы дизайна и функции приложения.
- Создание варфреймов высокой точности — дизайна пользовательского интерфейса приложения в том виде, в котором его увидят конечные пользователи.
- Создание кликабельных прототипов — дизайна приложения, где работают все элементы дизайна (кнопки, переходы, анимация, видео и прочее), но не работают функции.
Учтите, что вызов функции смарт-контракта из пользовательского интерфейса занимает некоторое время, поскольку в блокчейне транзакции немедленно не выполняются. Поэтому было бы неплохо иметь какую-то анимацию, встроенную во внешний интерфейс, чтобы показать пользователям, что приложение не зависло и их действие обрабатывается. Еще одна отличная идея — упростить регистрацию пользователей за счет интеграции с популярными криптокошельками.
Вы также должны помнить, что пользователи могут захотеть изучить ваше решение, прежде чем подключать свои криптокошельки. Поэтому не стоит скрывать от них функционал и дизайн приложения. Либо заранее создайте подробную текстовую и/или видеоинструкции с детальным описанием возможностей приложения.
Шаг 6: Создание серверной части
Если вы создаете dApp, для которого требуется массивное хранилище данных, или вы планируете запускать другие функции, выходящие за возможности блокчейна и/или смарт-контрактов, тогда вам понадобится центральная серверная часть. Такая серверная часть будет подключаться к смарт-контрактам и интерфейсу приложения, чтобы клиенты могли предлагать дополнительные функции вам, как владельцу бизнеса (для управления вашим dApp), и пользователям.
Шаг 7: Тестирование продукта
Как и в случае с любым другим проектом, прежде чем предлагать созданное вами приложение пользователям, вы должны тщательно его протестировать, чтобы убрать критические баги и ошибки, добиться нужной производительности и высокого уровня безопасности. При этом процесс контроля качества должна пройти каждая новая сборка вашего децентрализованного приложения и смарт-контрактов.
В случае запуска dApps это означает не только стандартные процедуры тестирования (функциональное, регрессионное, кроссплатформенное, юзабилити-тестирование, тестирование безопасности и производительности), но также тестирование смарт-контрактов, которое подразумевает использование тестовой сети для проверки его функциональности и безопасности.
Шаг 8: Развертывание
В качестве последнего шага вам необходимо развернуть свое приложение. Это включает в себя добавление смарт-контракта в блокчейн, добавление мобильных приложений в маркетплейсы App Store и Google Play, переключение внутреннего портала в рабочую среду. Что касается обслуживания, то это, скорее, непрерывный процесс. Несмотря на то, что смарт-контракт останется неизменным, вам все равно придется обновлять пользовательский интерфейс, делая его более удобным.
Стоимость создания dApps на Solana
Стоимость создания решений на базе блокчейна Solana больше всего зависит от двух факторов — сложности и местоположения разработчиков. Например, запуск обычного криптокошелька будет стоить от 25 тысяч долларов (Восточная Европа) до 70 тысяч долларов (Северная Америка), тогда как запуск сложной NFT-платформы обойдется вам в сумму от 35 до 100 тысяч долларов. Вот более детальные расчеты стоимости создания площадки для торговли NFT на Solana.
