Ride — минималистичный и дружественный язык для разработки смарт-контрактов и децентрализованных приложений (dApps) на блокчейне Waves.
Любые активы в блокчейне Waves называются "ассетами". Смарт-контракты Waves представляют из себя скрипты, написанные на языке Ride. Скрипты могут быть прикреплены к адресам (аккаунтам) или к токенам (ассетам). Ride разработан для выполнения скриптов в блокчейне и оптимизирован для этого.
Обзор блокчейна Waves, Часть 2: Ноды
Адрес с прикрепленным к нему скриптом становится децентрализованным приложением (dApp) или смарт-аккаунтом, а ассет с прикрепленным к нему скриптом становится заскриптованным токеном и называется смарт-ассетом.
Пользователь может не только создать собственный токен в блокчейне Waves, но и с помощью скрипта запрограммировать его на нужные правила обращения. Скрипт ассета проверяет транзакции с участием этого ассета на соответствие заданным условиям.
Возможности скриптов
Функции Ride могут читать данные из блокчейна: записи в хранилищах данных аккаунтов, балансы аккаунтов, параметры ассетов, текущую высоту блокчейна, заголовки блоков, транзакции перевода и т.д.
Возможности скрипта зависят от его типа: dApp-скрипт, скрипт аккаунта, скрипт ассета. С помощью скриптов ассет и адрес могут быть запрограммированы на любые функции:
- Заморозка токена. Транзакции со смарт-ассетом могут быть запрещены до или после определенной высоты блокчейна.
- Комиссия в спонсорском ассете. Скрипт позволяет оплачивать транзакцию перевода спонсорским ассетом. Комиссию в спонсорском ассете получает спонсор, а с его баланса списывается эквивалентное количество WAVES в пользу генерирующих блоки и валидирующих транзакции узлов.
- Черный/белый список. Перевод смарт-ассета может быть запрещен на адреса блэк-листа или, наоборот, разрешен только на адреса из белого списка.
- Запрет отправки транзакций на несколько адресов — мультисенд (мультиотправка).
- Смарт-ассет может быть запрограммирован на обмены по заданной цене или только за определенный актив.
- Добавление/изменение/удаление записей в хранилище данных аккаунта dApp.
Предсказуемые комиссии
Для каждой функции и оператора Ride определена сложность. От сложностей используемых функций зависит сложность скрипта(-ов), которая ограничена определенным максимумом. Благодаря этим ограничениям в Waves удалось установить низкие и предсказуемые комиссии за выполнение скриптов, т.е. по сути любых действий в блокчейне, в том числе за транзакции. ЗА простую отправку WAVES и простого токена пользователь заплатит 0.001 WAVES независимо от суммы отправки. За заскриптованные токены — 0.005 WAVES и больше (зависит от количества запрограммированных функций токена).