waves_logo Docs
  • O Ride
    O Ride
  • Начало работы
    Начало работы
  • Основы синтаксиса
    • Директивы
      Директивы
    • Определение
      Определение
    • Выражение
      Выражение
    • Переменная
      Переменная
    • Функция
      Функция
    • Исключение
      Исключение
    • Комментарий
      Комментарий
    Основы синтаксиса
  • Типы скриптов
    • dApp-скрипт
      • Аннотации
        Аннотации
      • Вызываемая функция
        Вызываемая функция
      • Функция-верификатор
        Функция-верификатор
      dApp-скрипт
    • Скрипт аккаунта
      Скрипт аккаунта
    • Скрипт ассета
      Скрипт ассета
    Типы скриптов
  • Стандартная библиотека
    Стандартная библиотека
  • Типы данных
    • Any
      Any
    • BigInt
      BigInt
    • Boolean
      Boolean
    • ByteVector
      ByteVector
    • Int
      Int
    • String
      String
    • Unit
      Unit
    • List
      List
    • Кортеж
      Кортеж
    • Объединение
      Объединение
    Типы данных
  • Структуры
    • Действия скрипта
      • BinaryEntry
        BinaryEntry
      • BooleanEntry
        BooleanEntry
      • Burn
        Burn
      • DeleteEntry
        DeleteEntry
      • IntegerEntry
        IntegerEntry
      • Issue
        Issue
      • Lease
        Lease
      • LeaseCancel
        LeaseCancel
      • Reissue
        Reissue
      • ScriptTransfer
        ScriptTransfer
      • SponsorFee
        SponsorFee
      • StringEntry
        StringEntry
      Действия скрипта
    • Общие структуры
      • Address
        Address
      • Alias
        Alias
      • Asset
        Asset
      • AssetPair
        AssetPair
      • AttachedPayment
        AttachedPayment
      • BalanceDetails
        BalanceDetails
      • BlockInfo
        BlockInfo
      • Invocation
        Invocation
      • Order
        Order
      • Transfer
        Transfer
      Общие структуры
    • Структуры транзакций
      • BurnTransaction
        BurnTransaction
      • CreateAliasTransaction
        CreateAliasTransaction
      • DataTransaction
        DataTransaction
      • ExchangeTransaction
        ExchangeTransaction
      • GenesisTransaction
        GenesisTransaction
      • InvokeScriptTransaction
        InvokeScriptTransaction
      • IssueTransaction
        IssueTransaction
      • LeaseCancelTransaction
        LeaseCancelTransaction
      • LeaseTransaction
        LeaseTransaction
      • MassTransferTransaction
        MassTransferTransaction
      • ReissueTransaction
        ReissueTransaction
      • SetAssetScriptTransaction
        SetAssetScriptTransaction
      • SetScriptTransaction
        SetScriptTransaction
      • SponsorFeeTransaction
        SponsorFeeTransaction
      • TransferTransaction
        TransferTransaction
      • UpdateAssetInfoTransaction
        UpdateAssetInfoTransaction
      Структуры транзакций
    Структуры
  • Встроенные переменные
    Встроенные переменные
  • Встроенные функции
    • Математические функции
      Математические функции
    • Функции блокчейна
      Функции блокчейна
    • Функции верификации
      Функции верификации
    • Функции вызова dApp из dApp
      Функции вызова dApp из dApp
    • Функции декодирования
      Функции декодирования
    • Функции исключения
      Функции исключения
    • Функции кодирования
      Функции кодирования
    • Функции конвертации
      Функции конвертации
    • Функции массива байтов
      Функции массива байтов
    • Функции объединения
      Функции объединения
    • Функции списка
      Функции списка
    • Функции строки
      Функции строки
    • Функции транзакции данных
      Функции транзакции данных
    • Функции хеширования
      Функции хеширования
    • Функции хранилища данных аккаунта
      Функции хранилища данных аккаунта
    Встроенные функции
  • Операторы
    Операторы
  • match-case: сопоставление с шаблоном
    match-case: сопоставление с шаблоном
  • Итерации: FOLD<N>
    Итерации: FOLD<N>
  • Вызов dApp из dApp
    Вызов dApp из dApp
  • Ограничения
    • Сложность
      Сложность
    • Вес данных
      Вес данных
    Ограничения
  • Предыдущие версии
    • Версия 5
      • Вызываемая функция
        Вызываемая функция
      • Типы данных
        • Any
          Any
        • BigInt
          BigInt
        • Boolean
          Boolean
        • ByteVector
          ByteVector
        • Int
          Int
        • String
          String
        • Unit
          Unit
        • List
          List
        • Кортеж
          Кортеж
        • Объединение
          Объединение
        Типы данных
      • Структуры
        • Действия скрипта
          • BinaryEntry
            BinaryEntry
          • BooleanEntry
            BooleanEntry
          • Burn
            Burn
          • DeleteEntry
            DeleteEntry
          • IntegerEntry
            IntegerEntry
          • Issue
            Issue
          • Lease
            Lease
          • LeaseCancel
            LeaseCancel
          • Reissue
            Reissue
          • ScriptTransfer
            ScriptTransfer
          • SponsorFee
            SponsorFee
          • StringEntry
            StringEntry
          Действия скрипта
        • Общие структуры
          • Address
            Address
          • Alias
            Alias
          • Asset
            Asset
          • AssetPair
            AssetPair
          • AttachedPayment
            AttachedPayment
          • BalanceDetails
            BalanceDetails
          • BlockInfo
            BlockInfo
          • Invocation
            Invocation
          • Order
            Order
          • Transfer
            Transfer
          Общие структуры
        • Структуры транзакций
          • BurnTransaction
            BurnTransaction
          • CreateAliasTransaction
            CreateAliasTransaction
          • DataTransaction
            DataTransaction
          • ExchangeTransaction
            ExchangeTransaction
          • GenesisTransaction
            GenesisTransaction
          • InvokeScriptTransaction
            InvokeScriptTransaction
          • IssueTransaction
            IssueTransaction
          • LeaseCancelTransaction
            LeaseCancelTransaction
          • LeaseTransaction
            LeaseTransaction
          • MassTransferTransaction
            MassTransferTransaction
          • ReissueTransaction
            ReissueTransaction
          • SetAssetScriptTransaction
            SetAssetScriptTransaction
          • SetScriptTransaction
            SetScriptTransaction
          • SponsorFeeTransaction
            SponsorFeeTransaction
          • TransferTransaction
            TransferTransaction
          • UpdateAssetInfoTransaction
            UpdateAssetInfoTransaction
          Структуры транзакций
        Структуры
      • Встроенные переменные
        Встроенные переменные
      • Встроенные функции
        • Математические функции
          Математические функции
        • Функции блокчейна
          Функции блокчейна
        • Функции верификации
          Функции верификации
        • Функции вызова dApp из dApp
          Функции вызова dApp из dApp
        • Функции декодирования
          Функции декодирования
        • Функции исключения
          Функции исключения
        • Функции кодирования
          Функции кодирования
        • Функции конвертации
          Функции конвертации
        • Функции массива байтов
          Функции массива байтов
        • Функции объединения
          Функции объединения
        • Функции списка
          Функции списка
        • Функции строки
          Функции строки
        • Функции транзакции данных
          Функции транзакции данных
        • Функции хеширования
          Функции хеширования
        • Функции хранилища данных аккаунта
          Функции хранилища данных аккаунта
        Встроенные функции
      • Operators
        Operators
      • Limitations
        • Вес данных
          Вес данных
        Limitations
      Версия 5
    • Версии 4 и 3
      • Вызываемая функция
        Вызываемая функция
      • Типы данных
        • Boolean
          Boolean
        • ByteVector
          ByteVector
        • Int
          Int
        • String
          String
        • Unit
          Unit
        • List
          List
        • Кортеж
          Кортеж
        • Объединение
          Объединение
        Типы данных
      • Структуры
        • Действия скрипта
          • BinaryEntry (v4)
            BinaryEntry (v4)
          • BooleanEntry (v4)
            BooleanEntry (v4)
          • Burn (v4)
            Burn (v4)
          • DataEntry (v3)
            DataEntry (v3)
          • DeleteEntry (v4)
            DeleteEntry (v4)
          • IntegerEntry (v4)
            IntegerEntry (v4)
          • Issue (v4)
            Issue (v4)
          • Reissue (v4)
            Reissue (v4)
          • ScriptTransfer (v3 and v4)
            ScriptTransfer (v3 and v4)
          • SponsorFee (v4)
            SponsorFee (v4)
          • StringEntry (v4)
            StringEntry (v4)
          Действия скрипта
        • Результаты скрипта (v3)
          • ScriptResult
            ScriptResult
          • TransferSet
            TransferSet
          • WriteSet
            WriteSet
          Результаты скрипта (v3)
        • Общие структуры
          • Address
            Address
          • Alias
            Alias
          • Asset
            Asset
          • AssetPair
            AssetPair
          • AttachedPayment
            AttachedPayment
          • BalanceDetails
            BalanceDetails
          • BlockInfo
            BlockInfo
          • Invocation
            Invocation
          • Order
            Order
          • Transfer
            Transfer
          Общие структуры
        • Структуры транзакций
          • BurnTransaction
            BurnTransaction
          • CreateAliasTransaction
            CreateAliasTransaction
          • DataTransaction
            DataTransaction
          • ExchangeTransaction
            ExchangeTransaction
          • GenesisTransaction
            GenesisTransaction
          • InvokeScriptTransaction
            InvokeScriptTransaction
          • IssueTransaction
            IssueTransaction
          • LeaseCancelTransaction
            LeaseCancelTransaction
          • LeaseTransaction
            LeaseTransaction
          • MassTransferTransaction
            MassTransferTransaction
          • ReissueTransaction
            ReissueTransaction
          • SetAssetScriptTransaction
            SetAssetScriptTransaction
          • SetScriptTransaction
            SetScriptTransaction
          • [en] SponsorFeeTransaction
            [en] SponsorFeeTransaction
          • TransferTransaction
            TransferTransaction
          • UpdateAssetInfoTransaction
            UpdateAssetInfoTransaction
          Структуры транзакций
        Структуры
      • Встроенные переменные
        Встроенные переменные
      • Встроенные функции
        • Функции хранилища данных аккаунта
          Функции хранилища данных аккаунта
        • Функции блокчейна
          Функции блокчейна
        • Функции массива байтов
          Функции массива байтов
        • Функции конвертации
          Функции конвертации
        • Функции транзакции данных
          Функции транзакции данных
        • Функции декодирования
          Функции декодирования
        • Функции кодирования
          Функции кодирования
        • Функции исключения
          Функции исключения
        • Функции хеширования
          Функции хеширования
        • Функции списка
          Функции списка
        • Математические функции
          Математические функции
        • Функции строки
          Функции строки
        • Функции объединения
          Функции объединения
        • Функции верификации
          Функции верификации
        Встроенные функции
      • Операторы
        Операторы
      • Ограничения
        • Вес данных
          Вес данных
        Ограничения
      Версии 4 и 3
    Предыдущие версии
  • Подключение библиотек
    Подключение библиотек
  • Компоненты Ride
    Компоненты Ride
      • English
      • Русский
      On this page
        • addressFromPublicKey(ByteVector): Address
        • parseBigInt(String): BigInt&#124;Unit
        • parseBigIntValue(String): BigInt
        • parseInt(String): Int&#124;Unit
        • parseIntValue(String): Int
        • toBigInt(ByteVector): BigInt
        • toBigInt(ByteVector, Int, Int): BigInt
        • toBigInt(Int): BigInt
        • toBytes(Boolean): ByteVector
        • toBytes(Int): ByteVector
        • toBytes(String): ByteVector
        • toBytes(BigInt): ByteVector
        • toInt(BigInt): Int
        • toInt(ByteVector): Int
        • toInt(ByteVector, Int): Int
        • toString(Address): String
        • toString(Boolean): String
        • toString(Int): String
        • toString(BigInt): String
        • toUtf8String(ByteVector): String
        • transferTransactionFromProto
      waves_logo Docs

          # Функции конвертации

          Название Описание Сложность
          addressFromPublicKey(ByteVector): Address Получает адрес, соответствующий открытому ключу аккаунта 1
          parseBigInt(String): BigInt|Unit Конвертирует строковое представление числа в эквивалентное большое целое число 65
          parseBigIntValue(String): BigInt Конвертирует строковое представление числа в эквивалентное большое целое число.
          Завершается ошибкой, если строка не может быть преобразована
          65
          parseInt(String): Int|Unit Конвертирует строковое представление числа в эквивалентное целое число 2
          parseIntValue(String): Int Конвертирует строковое представление числа в эквивалентное целое число.
          Завершается ошибкой, если строка не может быть преобразована
          2
          toBigInt(ByteVector): BigInt Конвертирует массив байтов в большое целое число 65
          toBigInt(ByteVector, Int, Int): BigInt Конвертирует массив байтов начиная с указанного индекса в большое целое число 65
          toBigInt(Int): BigInt Конвертирует целое число в большое целое 1
          toBytes(Boolean): ByteVector Конвертирует логическое значение в массив байтов 1
          toBytes(Int): ByteVector Конвертирует целое число в массив байтов 1
          toBytes(String): ByteVector Конвертирует строку в массив байтов 8
          toBytes(BigInt): ByteVector Конвертирует большое целое число в массив байтов 65
          toInt(BigInt): Int Конвертирует большое целое число в обычное целое.
          Завершается ошибкой, если число не может быть преобразовано
          1
          toInt(ByteVector): Int Конвертирует массив байтов в целое число 1
          toInt(ByteVector, Int): Int Конвертирует массив байтов начиная с указанного индекса в целое число 1
          toString(Address): String Конвертирует массив байтов адреса в строку 1
          toString(Boolean): String Конвертирует логическое значение в строку 1
          toString(Int): String Конвертирует целое число в строку 1
          toString(BigInt): String Конвертирует большое целое число в строку 1
          toUtf8String(ByteVector): String Конвертирует массив байтов в строку в UTF-8 7
          transferTransactionFromProto(ByteVector): TransferTransaction|Unit Десериализует транзакцию перевода 5

          # addressFromPublicKey(ByteVector): Address

          Получает адрес, соответствующий открытому ключу аккаунта.

          Начиная с версии 6, функция завершается ошибкой, если размер ключа отличен от 32 байт (аккаунт Waves) или 64 байт (аккаунт MetaMask).

          addressFromPublicKey(publicKey: ByteVector): Address
          

          Описание возвращаемой структуры см. в разделе Address.

          # Параметры

          Параметр Описание
          publicKey: ByteVector Открытый ключ для конвертации

          # Примеры

          let address = addressFromPublicKey(base58'J1t6NBs5Hd588Dn7mAPytqkhgeBshzv3zecScfFJWE2D')
          

          # parseBigInt(String): BigInt|Unit

          Конвертирует строковое представление числа в эквивалентное большое целое число.

          parseBigInt(str: String): BigInt|Unit
          

          # Параметры

          Параметр Описание
          str: String Строка для конвертации

          # parseBigIntValue(String): BigInt

          Конвертирует строковое представление числа в эквивалентное большое целое число.

          Завершается ошибкой, если строка не может быть преобразована.

          parseBigIntValue(str: String): BigInt
          

          # Параметры

          Параметр Описание
          str: String Строка для конвертации

          # parseInt(String): Int|Unit

          Конвертирует строковое представление числа в эквивалентное целое число.

          parseInt(str: String): Int|Unit
          

          # Параметры

          Параметр Описание
          str: String Строка для конвертации

          # Примеры

          parseInt("10") # Возвращает 10
          parseInt("010") # Возвращает 10
          parseInt("Ride") # Возвращает Unit
          parseInt("10.30") # Возвращает Unit
          

          # parseIntValue(String): Int

          Конвертирует строковое представление числа в эквивалентное целое число.

          Завершается ошибкой, если строка не может быть преобразована.

          parseIntValue(str: String): Int
          

          # Параметры

          Параметр Описание
          str: String Строка для конвертации

          # Примеры

          parseIntValue("10") # Возвращает 10
          parseIntValue("010") # Возвращает 10
          parseIntValue("Ride") # Ошибка при разборе строки на целое число
          parseIntValue("10.30") # Ошибка при разборе строки на целое число
          parseIntValue("20 WAVES") # Ошибка при разборе строки на целое число
          

          # toBigInt(ByteVector): BigInt

          Конвертирует массив байтов в эквивалентное большое целое число. Используется представление big-endian .

          toBigInt(bin: ByteVector): BigInt
          

          # Параметры

          Параметр Описание
          bin: ByteVector Массив байтов для конвертации. Не более 64 байт

          # toBigInt(ByteVector, Int, Int): BigInt

          Конвертирует массив байтов начиная с указанного индекса в эквивалентное большое целое число. Используется представление big-endian .

          toBigInt(bin: ByteVector, offset: Int, size: Int): BigInt
          

          # Параметры

          Параметр Описание
          bin: ByteVector Массив байтов для конвертации
          offset: Int Начальный индекс (нумерация с 0)
          size: Int Количество байтов (длина подмассива) для конвертации. Не более 64

          # toBigInt(Int): BigInt

          Конвертирует целое число в эквивалентное большое целое число.

          toBigInt(n: Int): BigInt
          

          # Параметры

          Параметр Описание
          n: Int Целое число для конвертации

          # toBytes(Boolean): ByteVector

          Конвертирует логическое значение в массив байтов.

          toBytes(b: Boolean): ByteVector
          

          # Параметры

          Параметр Описание
          b: Boolean Логическое значение для конвертации

          # Примеры

          toBytes(true) # Возвращает base58'2'
          toBytes(false) # Возвращает base58'1'
          

          # toBytes(Int): ByteVector

          Конвертирует целое число в массив байтов. Используется представление big-endian .

          toBytes(n: Int): ByteVector
          

          # Параметры

          Параметр Описание
          n: Int Целое число для конвертации

          # Примеры

          toBytes(10) # Возвращает base58'1111111B'
          

          # toBytes(String): ByteVector

          Конвертирует строку в массив байтов.

          toBytes(s: String): ByteVector
          

          # Параметры

          Параметр Описание
          s: String Строка для конвертации

          # Примеры

          toBytes("Ride") # Возвращает base58'37BPKA'
          

          # toBytes(BigInt): ByteVector

          Конвертирует большое целое число в массив байтов. Используется представление big-endian .

          toBytes(n: BigInt): ByteVector
          

          # Параметры

          Параметр Описание
          n: BigInt Большое целое число для конвертации

          # toInt(BigInt): Int

          Конвертирует большое целое число в обычное целое.

          Завершается ошибкой, если число не может быть преобразовано.

          toInt(n: BigInt): Int
          

          # Параметры

          Параметр Описание
          n: BigInt Большое целое число для конвертации

          # toInt(ByteVector): Int

          Конвертирует первые 8 байт массива в целое число. Используется представление big-endian .

          toInt(bin: ByteVector): Int
          

          # Параметры

          Параметр Описание
          bin: ByteVector Массив байтов для конвертации. Длина массива должна быть не менее 8 байт

          # Примеры

          toInt(base64'AAAAAAAAAAw=')  # Возвращает 12
          toInt(base64'AAAAAw=')       # Завершается ошибкой: длина массива меньше 8
          

          # toInt(ByteVector, Int): Int

          Конвертирует 8 байт из массива, начиная с указанного индекса, в целое число. Используется представление big-endian .

          toInt(bin: ByteVector, offset: Int): Int
          

          # Параметры

          Параметр Описание
          bin: ByteVector Массив байтов для конвертации
          offset: Int Индекс. Длина массива начиная с указанного индекса должна быть не менее 8 байт

          # Примеры

          let bytes = toBytes("Ride on Waves")
          toInt(bytes, 2)  # Возвращает 7234224039401641825
          toInt(bytes, 6)  # Завершается ошибкой: индекс за пределами границ
          

          # toString(Address): String

          Конвертирует массив байтов адреса в строку.

          toString(addr: Address): String
          

          # Параметры

          Параметр Описание
          addr: Address Адрес для конвертации

          # Примеры

          let address = Address(base58'3NADPfTVhGvVvvRZuqQjhSU4trVqYHwnqjF')
          toString(address) # Возвращает "3NADPfTVhGvVvvRZuqQjhSU4trVqYHwnqjF"
          

          # toString(Boolean): String

          Конвертирует логическое значение в строку.

          toString(b: Boolean): String
          

          # Параметры

          Параметр Описание
          b: Boolean Логическое значение для конвертации

          # Примеры

          toString(true) # Возвращает "true"
          toString(false) # Возвращает "false"
          

          # toString(Int): String

          Конвертирует целое число в строку.

          toString(n: Int): String
          

          # Параметры

          Параметр Описание
          n: Int Целое число для конвертации

          # Примеры

          toString(10) # Возвращает "10"
          

          # toString(BigInt): String

          Конвертирует большое целое число в строку.

          toString(n: BigInt): String
          

          # Параметры

          Параметр Описание
          n: BigInt Большое целое число для конвертации

          # toUtf8String(ByteVector): String

          Конвертирует массив байтов в строку в UTF-8 .

          Завершается ошибкой, если массив байтов содержит некорректную последовательность UTF-8.

          toUtf8String(u: ByteVector): String
          

          # Параметры

          Параметр Описание
          u: ByteVector Массив байтов для конвертации

          # Примеры

          let bytes = toBytes("Ride on Waves")
          toUtf8String(bytes) # Возвращает "Ride on Waves"
          

          # transferTransactionFromProto

          Десериализует транзакцию перевода: конвертирует бинарный формат в структуру TransferTransaction. Бинарный формат должен соответствовать protobuf-схеме . В случае если конвертация не удалась, возвращает значение unit.

          transferTransactionFromProto(b: ByteVector): TransferTransaction|Unit
          

          Описание возвращаемой структуры см. в разделе TransferTransaction.

          # Параметры

          Параметр Описание
          b: ByteVector Транзакция перевода в бинарном формате на основе protobuf

          # Примеры

          let transfer = base64'Cr4BCFQSIA7SdnwUqEBY+k4jUf9sCV5+xj0Ry/GYuwmDMCdKTdl3GgQQoI0GIPLIyqL6LSgDwgaHAQoWChT+/s+ZWeOWzh1eRnhdRL3Qh9bxGRIkCiBO/wEBhwH/f/+bAWBRMv+A2yiAOUeBc9rY+UR/a4DxKBBkGkcaRYCcAQAB//9/AX9//0695P8EiICAfxgBgIkefwHYuDmA//83/4ABJgEBAf8d9N+8AAERyo1/j3kAGn/SAb7YIH8y/4CAXg=='
          let x = match transferTransactionFromProto(transfer) {
              case ttx:TransferTransaction =>
                  ttx.amount # 3500000000
              case _ => throw("Can't find transaction")
          }
          
          Функции кодирования
          Функции массива байтов
          Функции кодирования
          Функции массива байтов