# [Ride v4 и v3] Функции конвертации
⚠️ Это документация Стандартной библиотеки версии 4 и 3. Рекомендуем использовать версию 6. Перейти к версии 6
Название | Описание | Сложность |
---|---|---|
addressFromPublicKey(ByteVector): Address | Получает адрес, соответствующий открытому ключу аккаунта | 82 для Стандартной библиотеки версии 3 63 для Стандартной библиотеки версии 4 |
parseInt(String): Int|Unit | Конвертирует строковое представление числа в эквивалентное целое число | 20 для Стандартной библиотеки версии 3 2 для Стандартной библиотеки версии 4 |
parseIntValue(String): Int | Конвертирует строковое представление числа в эквивалентное целое число. Завершается ошибкой, если строка не может быть спарсена | 20 для Стандартной библиотеки версии 3 2 для Стандартной библиотеки версии 4 |
toBytes(Boolean): ByteVector | Конвертирует логическое значение в массив байтов | 1 |
toBytes(Int): ByteVector | Конвертирует целое число в массив байтов | 1 |
toBytes(String): ByteVector | Конвертирует строку в массив байтов | 1 для Стандартной библиотеки версии 3 8 для Стандартной библиотеки версии 4 |
toInt(ByteVector): Int | Конвертирует массив байтов в целое число | 10 для Стандартной библиотеки версии 3 1 для Стандартной библиотеки версии 4 |
toInt(ByteVector, Int): Int | Конвертирует массив байтов начиная с указанного индекса в целое число | 10 для Стандартной библиотеки версии 3 1 для Стандартной библиотеки версии 4 |
toString(Address): String | Конвертирует массив байтов адреса в строку | 10 |
toString(Boolean): String | Конвертирует логическое значение в строку | 1 |
toString(Int): String | Конвертирует целое число в строку | 1 |
toUtf8String(ByteVector): String | Конвертирует массив байтов в строку в UTF-8 | 20 для Стандартной библиотеки версии 3 7 для Стандартной библиотеки версии 4 |
transferTransactionFromProto(ByteVector): TransferTransaction|Unit | Десериализует транзакцию перевода | 5 |
# addressFromPublicKey(ByteVector): Address
Получает адрес, соответствующий открытому ключу аккаунта.
В версии 5 и ниже проверка размера открытого ключа отсутствует.
addressFromPublicKey(publicKey: ByteVector): Address
Описание возвращаемой структуры см. в разделе Address.
# Параметры
Параметр | Описание |
---|---|
publicKey : ByteVector | Открытый ключ для конвертации |
# Примеры
let address = addressFromPublicKey(base58'J1t6NBs5Hd588Dn7mAPytqkhgeBshzv3zecScfFJWE2D')
# 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") # Ошибка при разборе строки на целое число
# toBytes(Boolean): ByteVector
Конвертирует логическое значение в массив байтов.
toBytes(b: Boolean): ByteVector
# Параметры
Параметр | Описание |
---|---|
b : Boolean | Логическое значение для конвертации |
# Примеры
toBytes(true) # Возвращает 2
toBytes(false) # Возвращает 1
# toBytes(Int): ByteVector
Конвертирует целое число в массив байтов.
toBytes(n: Int): ByteVector
# Параметры
Параметр | Описание |
---|---|
n : Int | Целое число для конвертации |
# Примеры
toBytes(10) # Возвращает 1111111B
# toBytes(String): ByteVector
Конвертирует строку в массив байтов.
toBytes(s: String): ByteVector
# Параметры
Параметр | Описание |
---|---|
s : String | Строка для конвертации |
# Примеры
toBytes("Ride") # Возвращает 37BPKA
# toInt(ByteVector): Int
Конвертирует массив байтов в целое число.
toInt(bin: ByteVector): Int
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации |
# Примеры
toInt(bytes) # Возвращает 10
# toInt(ByteVector, Int): Int
Конвертирует массив байтов начиная с указанного индекса в целое число.
toInt(bin: ByteVector, offset: Int): Int
# Параметры
Параметр | Описание |
---|---|
bin : ByteVector | Массив байтов для конвертации |
offset : Int | Индекс |
# Примеры
let bytes = toBytes("Ride on Waves")
toInt(bytes, 2) # Возвращает 7234224039401641825
toInt(bytes, 6) # Индекс за пределами границ
# toString(Address): String
Конвертирует массив байтов адреса в строку.
toString(Address: Address): String
# Параметры
Параметр | Описание |
---|---|
Address : 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"
# toUtf8String(ByteVector): String
Конвертирует массив байтов в строку в UTF-8.
toUtf8String(u: ByteVector): String
# Параметры
Параметр | Описание |
---|---|
u : ByteVector | Массив байтов для конвертации |
# Примеры
let bytes = toBytes("Ride on Waves")
toUtf8String(bytes) # Возвращает "Ride on Waves"
# transferTransactionFromProto
Десериализует транзакцию перевода: конвертирует бинарный формат в структуру TransferTransaction. Бинарный формат должен соответствовать protobuf-схеме. В случае если конвертация не удалась, возвращает значение unit
.
⚠️ Функция
transferTransactionFromProto
добавлена в Стандартной библиотеке версии 4.
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")
}