# Директивы
Скрипт Ride должен начинаться с директив для компилятора. Директивы определяют формат скрипта, а также доступные скрипту встроенные функции, структуры и переменные.
Формат директивы:
{-# НАЗВАНИЕ_ДИРЕКТИВЫ ЗНАЧЕНИЕ #-}
# Список директив
| Название директивы | Описание | Возможные значения |
|---|---|---|
| STDLIB_VERSION | Версия Стандартной библиотеки | 8: доступна с момента активации фичи № 22 “Light Node”7: доступна с момента активации фичи № 19 “Block Reward Distribution”6: доступна с момента активации фичи № 17 “Ride V6, MetaMask support”5: доступна с момента активации фичи № 16 “Ride V5, dApp-to-dApp invocations”4: доступна с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions” |
| CONTENT_TYPE | Содержание скрипта | DAPP — скрипт представляет собой набор определений и содержит функции, которые можно вызвать с другого аккаунта.EXPRESSION — скрипт представляет собой логическое выражение, используемое для верификации транзакций |
| SCRIPT_TYPE | Использование скрипта | ACCOUNT — скрипт прикреплен к аккаунтуASSET — скрипт прикреплен к ассетуLIBRARY — скрипт может быть подключен в другие скрипты в качестве библиотеки |
| IMPORT | Подключенные библиотеки | Имена библиотек, сохраненных в Waves IDE |
# Примеры директив
Для скрипта dApp:
{-# STDLIB_VERSION 8 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ACCOUNT #-}
Для скрипта аккаунта:
{-# STDLIB_VERSION 8 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ACCOUNT #-}
Для скрипта ассета:
{-# STDLIB_VERSION 8 #-}
{-# CONTENT_TYPE EXPRESSION #-}
{-# SCRIPT_TYPE ASSET #-}
Для скрипта-библиотеки:
{-# STDLIB_VERSION 8 #-}
{-# CONTENT_TYPE LIBRARY #-}
{-# SCRIPT_TYPE ACCOUNT #-}
Не все комбинации директив допустимы. Следующий пример не будет работать, поскольку тип содержания DAPP допустим только для аккаунтов:
# Неправильный пример, не будет работать
{-# STDLIB_VERSION 8 #-}
{-# CONTENT_TYPE DAPP #-}
{-# SCRIPT_TYPE ASSET #-}