RIDE on Waves: как устроен новый язык программирования смарт-контрактов и dApps
В конце июня блокчейн-экосистема для решений в Web 3.0 Waves Platform анонсировала запуск в основной сети собственного языка программирования RIDE, который позволит разработчикам создавать смарт-контракты и dApps. DeCenter разобрался в инновационном языке программирования от российской крипто-компании, а также узнал, какие возможности он откроет для разработчиков.
Язык программирования RIDE появился в 2018 году, и в то же время был опубликован white paper по нему. Как отмечают в Waves Platform, новое решение имеет весомые преимущества перед существующими альтернативами на таких платформах, как Ethereum, EOS и TRON. Так, язык RIDE является легким в освоении и эксплуатации, что позволит разработчикам избегать ошибок во время кодинга. Более того, для разработчиков доступны функции «ленивых» вычислений, формальная верификация, отсутствие газа, фиксированные размеры комиссий и более высокий уровень масштабируемости сети.
По словам основателя и главы крипто-компании Александра Иванова, благодаря RIDE в экосистеме Waves появятся новые талантливые разработчики, причем не только из конкурирующих проектов, но и те, что никогда не работали с блокчейном: «dApps считаются будущим децентрализованного мира, и та платформа, которая будет в данном вопросе занимать лидирующую позицию, выйдет в топ. Именно к этому мы и стремимся, запуская уникальные решения, которые не были представлены ранее, и в то же время мы учитываем проблемы имплементации, которые наблюдаются на нынешнем рынке. Таким образом, для блокчейн-разработчиков процесс кодинга станет более дешевым и удобным, а для разработчиков из других отраслей снизится порог входа, что откроет для них новые возможности».
Как устроен язык RIDE
Сегодня RIDE — это функциональный язык программирования, основанный на выражениях. По данным компании, язык имеет сильную статическую типизацию, не имеет циклов, рекурсий и goto-подобных выражений и поэтому является неполным по Тьюрингу.
По замыслу RIDE «ленивый»: в языке RIDE все переменные являются неизменяемыми (immutable variables). А в качестве среды разработки скриптов на RIDE можно использовать Waves IDE (среда разработки, которая позволяет создавать и тестировать скрипты на RIDE) или Visual Studio Code с установленным расширением waves-ride. Примечательно, что в Waves IDE нет возможности выполнить отладку скрипта. Поэтому лучший способ проверить работоспособность скрипта — написать тесты и запустить их в тестовой сети. Существует три вида скриптов на RIDE в Waves Platform: dApp-скрипты, скрипты аккаунтов, скрипты ассетов.
При этом у скрипта на RIDE есть сложность — безразмерная величина, которая оценивает вычислительные ресурсы, необходимые для его исполнения. Сложность скрипта на RIDE оценивается исходя из сложностей всех операторов и функций, составляющих скрипт. В настоящий момент она ограничена до 4000.
Все структуры в RIDE являются встроенными — разработчики не могут создавать свои собственные структуры. Что касается встроенных функций, то они делятся на:
Математические функции
Функции блокчейна
Функции кодирования и декодирования
Функции списка
Функции строки
Функции хранилища данных аккаунта
Также стоит отметить, что в RIDE нет обработки исключений. После того как исключение было выброшено, скрипт прекратит свое выполнение. Транзакция при этом будет считаться неудавшейся и не будет включена в блок.
Влияние на рынок dApps
По данным исследования рынка dApps, сегодня этот сегмент оценивается в $3.2 миллиарда. При этом на четырех топовых платформах для dApps — Ethereum, EOS, Steem и TRON — числится порядка 800,000 пользователей децентрализованных приложений, что на 25% больше, чем в первом квартале года. Авторы исследования уверены, что данный рост не замедлится и в ближайшие два-три года будет наблюдаться бум в сфере dApps.
Причиной служит тот факт, что децентрализованные приложения могут быть использованы не только для хранения данных и торговли цифровыми активами, но и в системах голосования и выборов, сфере законодательной деятельности, а также в других услугах общественного характера. Такого рода децентрализованные приложения будут запускаться на существующих платформах, однако ключевой преградой для их массовой адаптации сегодня является несоответствие платформ и их инструментов нуждам большинства разработчиков. В связи с чем простые в использовании и более дешевые решения станут двигателем развития и роста рынка dApps.