Solana — это самая популярная альтернатива Ethereum в качестве среды для запуска смарт-контрактов и децентрализованных приложений, которая выделяется невероятно низкими транзакционными издержками, огромной пропускной способностью и высоким потенциалом к масштабированию. Еще одной важной особенностью этого проекта является более простая разработка dApps, так как Solana, в отличие от того же Ethereum, использует привычные всем языки программирования: Rust, C и C++.
В этой статье мы подробно расскажем об этом блокчейне и его преимуществах для запуска своих блокчейн-проектов, а также опишем сам процесс создания dApps на Solana — особенности, этапы разработки, стек технологий и стоимость.
Solana — это платформа с открытым исходным кодом, которая создана для предоставления масштабируемой, безопасной и максимально децентрализованной среды для запуска токенов, смарт-контрактов, dApps, NFT и других блокчейн-решений. Стартап был запущен в 2017 году Анатолием Яковенко, Грегом Фицджеральдом и Эриком Уильямсом. Анатолий и Грег — программисты, ранее работавшие в Qualcomm, а Эрик Уильямс — доктор физики элементарных частиц, работавший в CERN (отвечают за большой адронный коллайдер).
С технологической точки зрения экосистема Solana представляет собой кластер технологий, которые работают в тандеме с протоколом для повышения его скорости и масштабируемости. В основе экосистемы лежит протокол Proof-of-History (PoH) — децентрализованные часы, который настолько прост и очевиден, что это заставляет задуматься, почему никто не додумался до этого раньше. Поскольку интеграция децентрализованных часов в блокчейн делает его на порядок эффективнее.
Proof-of-History представляет из себя не еще один механизм консенсуса, а специально разработанный для Solana алгоритм синхронизации, главная задача которого — «установить единый временной поток событий и выставить временные метки на каждый блок», не прибегая к излишне сложным, длительным и затратным математическим вычислениям, как это осуществлено, например, в цепочке Bitcoin и Ethereum. Благодаря этим временным меткам ноды-валидаторы могут намного быстрее проверять транзакции, что снижает нагрузку на сеть и тем самым увеличивает общую пропускную способность блокчейна 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 обычно происходит в несколько этапов: открытие, поиск разработчика, разработка смарт-контрактов и интерфейсов, тестирование и развертывание. Вот их краткое описание.
Запуск любого стартапа, в том числе разработка dApps на Solana, начинается с определения концепции и бизнес-целей проекта. Прежде чем приступать к поиску разработчика и непосредственно разработке приложения, вы должны определиться с тем, что должно делать ваше приложение, как оно это будет делать и для кого. При этом чем четче будет ваше понимание логики приложения, тем проще будет вам найти нужных специалистов и тем проще им будет реализовать вашу задумку.
Вторым шагом создания dApps на Solana будет поиск блокчейн-разработчиков с нужными вам навыками. Причем это должны быть не просто профессиональные программисты со знанием определенных языков программирования, а команда с опытом запуска блокчейн-решений в нужной вам сфере. Например, если вы хотите создать криптовалютную биржу, то вам нужен разработчик, в портфолио которого есть такие проекты. Если же вы хотите запустить свою блокчейн-платформу для отслеживания цепочек поставок, то ищите тех, кто уже создавал такие площадки.
Что же касается навыков программирования, то вам нужна команда, отвечающая следующим критериям:
В рамках плана проекта вы должны учитывать следующие факторы:
В случае разработки смарт-контрактов на Solana нужно:
Если это не ваш вариант, то вам не обойтись без разработки эффективного пользовательского интерфейса с приятным и интуитивно понятным дизайном и навигацией.
Создание такого интерфейса обычно проходит в несколько этапов:
Вы также должны помнить, что пользователи могут захотеть изучить ваше решение, прежде чем подключать свои криптокошельки. Поэтому не стоит скрывать от них функционал и дизайн приложения. Либо заранее создайте подробную текстовую и/или видеоинструкции с детальным описанием возможностей приложения.
Если вы создаете dApp, для которого требуется массивное хранилище данных, или вы планируете запускать другие функции, выходящие за возможности блокчейна и/или смарт-контрактов, тогда вам понадобится центральная серверная часть. Такая серверная часть будет подключаться к смарт-контрактам и интерфейсу приложения, чтобы клиенты могли предлагать дополнительные функции вам, как владельцу бизнеса (для управления вашим dApp), и пользователям.
Как и в случае с любым другим проектом, прежде чем предлагать созданное вами приложение пользователям, вы должны тщательно его протестировать, чтобы убрать критические баги и ошибки, добиться нужной производительности и высокого уровня безопасности. При этом процесс контроля качества должна пройти каждая новая сборка вашего децентрализованного приложения и смарт-контрактов.
В случае запуска dApps это означает не только стандартные процедуры тестирования (функциональное, регрессионное, кроссплатформенное, юзабилити-тестирование, тестирование безопасности и производительности), но также тестирование смарт-контрактов, которое подразумевает использование тестовой сети для проверки его функциональности и безопасности.
В качестве последнего шага вам необходимо развернуть свое приложение. Это включает в себя добавление смарт-контракта в блокчейн, добавление мобильных приложений в маркетплейсы App Store и Google Play, переключение внутреннего портала в рабочую среду. Что касается обслуживания, то это, скорее, непрерывный процесс. Несмотря на то, что смарт-контракт останется неизменным, вам все равно придется обновлять пользовательский интерфейс, делая его более удобным.
Стоимость создания решений на базе блокчейна Solana больше всего зависит от двух факторов — сложности и местоположения разработчиков. Например, запуск обычного криптокошелька будет стоить от 25 тысяч долларов (Восточная Европа) до 70 тысяч долларов (Северная Америка), тогда как запуск сложной NFT-платформы обойдется вам в сумму от 35 до 100 тысяч долларов. Вот более детальные расчеты стоимости создания площадки для торговли NFT на Solana.